summaryrefslogtreecommitdiff
path: root/security/nss/lib/freebl/mpi/mpcpucache_x86.s
diff options
context:
space:
mode:
Diffstat (limited to 'security/nss/lib/freebl/mpi/mpcpucache_x86.s')
-rw-r--r--security/nss/lib/freebl/mpi/mpcpucache_x86.s931
1 files changed, 0 insertions, 931 deletions
diff --git a/security/nss/lib/freebl/mpi/mpcpucache_x86.s b/security/nss/lib/freebl/mpi/mpcpucache_x86.s
deleted file mode 100644
index 4e7813993..000000000
--- a/security/nss/lib/freebl/mpi/mpcpucache_x86.s
+++ /dev/null
@@ -1,931 +0,0 @@
-//* ***** BEGIN LICENSE BLOCK *****
-/ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
-/ *
-/ * The contents of this file are subject to the Mozilla Public License Version
-/ * 1.1 (the "License"); you may not use this file except in compliance with
-/ * the License. You may obtain a copy of the License at
-/ * http://www.mozilla.org/MPL/
-/ *
-/ * Software distributed under the License is distributed on an "AS IS" basis,
-/ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-/ * for the specific language governing rights and limitations under the
-/ * License.
-/ *
-/ * The Initial Developer of the Original Code is
-/ * Red Hat, Inc.
-/ * Portions created by the Initial Developer are Copyright (C) 2005
-/ * the Initial Developer. All Rights Reserved.
-/ *
-/ * Contributor(s):
-/ * Robert Relyea <rrelyea@redhat.com>
-/ *
-/ * Alternatively, the contents of this file may be used under the terms of
-/ * either the GNU General Public License Version 2 or later (the "GPL"), or
-/ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-/ * in which case the provisions of the GPL or the LGPL are applicable instead
-/ * of those above. If you wish to allow use of your version of this file only
-/ * under the terms of either the GPL or the LGPL, and not to allow others to
-/ * use your version of this file under the terms of the MPL, indicate your
-/ * decision by deleting the provisions above and replace them with the notice
-/ * and other provisions required by the GPL or the LGPL. If you do not delete
-/ * the provisions above, a recipient may use your version of this file under
-/ * the terms of any one of the MPL, the GPL or the LGPL.
-/ *
-/ * ***** END LICENSE BLOCK ***** */
-
- .file "mpcpucache.c"
-/ .section .rodata.str1.1,"aMS",@progbits,1
- .section .rodata
-.LC0:
- .string "GenuineIntel"
-.LC1:
- .string "AuthenticAMD"
-.LC2:
- .string "CyrixInstead"
-.LC3:
- .string "CentaurHauls"
-.LC4:
- .string "NexGenDriven"
-.LC5:
- .string "GenuineTMx86"
-.LC6:
- .string "RiseRiseRise"
-.LC7:
- .string "UMC UMC UMC "
-.LC8:
- .string "Sis Sis Sis "
-.LC9:
- .string "Geode by NSC"
- .section .data.rel.ro.local,"aw",@progbits
- .align 32
- .type manMap, @object
- .size manMap, 40
-manMap:
- .long .LC0
- .long .LC1
- .long .LC2
- .long .LC3
- .long .LC4
- .long .LC5
- .long .LC6
- .long .LC7
- .long .LC8
- .long .LC9
- .section .rodata
- .align 32
- .type CacheMap, @object
- .size CacheMap, 512
-CacheMap:
- .byte 0
- .byte 0
- .byte 3
- .byte 0
- .byte 3
- .byte 0
- .byte 4
- .byte 0
- .byte 4
- .zero 1
- .byte 1
- .byte 0
- .byte 7
- .byte 32
- .byte 1
- .byte 0
- .byte 7
- .byte 32
- .byte 1
- .byte 0
- .byte 8
- .byte 32
- .byte 1
- .byte 0
- .byte 8
- .byte 32
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 12
- .byte 64
- .byte 12
- .byte 64
- .byte 1
- .byte 0
- .byte 12
- .byte 64
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 12
- .byte 64
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 8
- .byte 64
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 7
- .byte 64
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 9
- .byte 64
- .byte 1
- .byte 0
- .byte 9
- .byte 64
- .byte 9
- .byte 64
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 9
- .byte 0
- .byte 9
- .byte 32
- .byte 9
- .byte 32
- .byte 9
- .byte 32
- .byte 9
- .byte 32
- .byte 9
- .byte 32
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 3
- .byte 0
- .byte 3
- .byte 0
- .byte 3
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 4
- .byte 0
- .byte 4
- .byte 0
- .byte 4
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 8
- .byte 64
- .byte 8
- .byte 64
- .byte 8
- .byte 64
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 5
- .byte 1
- .byte 5
- .byte 1
- .byte 5
- .byte 1
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 9
- .byte 64
- .byte 9
- .byte 64
- .byte 9
- .byte 64
- .byte 9
- .byte 64
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 9
- .byte 32
- .byte 9
- .byte 32
- .byte 9
- .byte 32
- .byte 9
- .byte 32
- .byte 9
- .byte 64
- .byte 9
- .byte 64
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 3
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 4
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .byte 1
- .byte 0
- .text
- .align 4
- .type cpuid, @function
-cpuid:
- pushl %ebp
- pushl %edi
- pushl %esi
- subl $8, %esp
- movl %edx, %ebp
-/APP
- pushl %ebx
- cpuid
- mov %ebx,%esi
- popl %ebx
-
-/NO_APP
- movl %eax, (%ebp)
- movl 24(%esp), %eax
- movl %esi, (%eax)
- movl 28(%esp), %eax
- movl %ecx, (%eax)
- movl 32(%esp), %eax
- movl %edx, (%eax)
- addl $8, %esp
- popl %esi
- popl %edi
- popl %ebp
- ret
- .size cpuid, .-cpuid
- .align 4
- .type changeFlag, @function
-changeFlag:
-/APP
- pushfl
- popl %edx
- movl %edx,%ecx
- xorl %eax,%edx
- pushl %edx
- popfl
- pushfl
- popl %edx
- pushl %ecx
- popfl
-
-/NO_APP
- xorl %ecx, %edx
- movl %edx, %eax
- ret
- .size changeFlag, .-changeFlag
- .align 4
- .type getIntelCacheEntryLineSize, @function
-getIntelCacheEntryLineSize:
- pushl %edi
- pushl %esi
- pushl %ebx
- call .L17
-.L17:
- popl %ebx
- addl $_GLOBAL_OFFSET_TABLE_+[.-.L17], %ebx
- movzbl CacheMap@GOTOFF(%ebx,%eax,2), %ecx
- movb 1+CacheMap@GOTOFF(%ebx,%eax,2), %al
- testb %al, %al
- movl 16(%esp), %edi
- je .L3
- cmpl $6, %ecx
- je .L6
- cmpl $8, %ecx
- je .L6
- movl (%edx), %esi
- cmpl $1, %esi
- jg .L15
-.L8:
- cmpl $2, %esi
- jle .L3
- cmpl $12, %ecx
- je .L12
- cmpl $14, %ecx
- je .L12
- .align 4
-.L3:
- popl %ebx
- popl %esi
- popl %edi
- ret
- .align 4
-.L6:
- movzbl %al, %eax
- movl $1, (%edx)
- movl %eax, (%edi)
-.L16:
- popl %ebx
- popl %esi
- popl %edi
- ret
- .align 4
-.L15:
- cmpl $9, %ecx
- je .L9
- cmpl $11, %ecx
- jne .L8
-.L9:
- movzbl %al, %eax
- movl $2, (%edx)
- movl %eax, (%edi)
- jmp .L16
-.L12:
- movzbl %al, %eax
- movl $3, (%edx)
- movl %eax, (%edi)
- jmp .L16
- .size getIntelCacheEntryLineSize, .-getIntelCacheEntryLineSize
- .align 4
- .type getIntelRegisterCacheLineSize, @function
-getIntelRegisterCacheLineSize:
- pushl %ebp
- movl %esp, %ebp
- pushl %edi
- pushl %esi
- pushl %ecx
- movl 8(%ebp), %edi
- movl %eax, %esi
- movl %edx, -12(%ebp)
- shrl $24, %eax
- pushl %edi
- call getIntelCacheEntryLineSize
- movl %esi, %eax
- pushl %edi
- shrl $16, %eax
- movl -12(%ebp), %edx
- andl $255, %eax
- call getIntelCacheEntryLineSize
- pushl %edi
- movl %esi, %edx
- movzbl %dh, %eax
- movl -12(%ebp), %edx
- call getIntelCacheEntryLineSize
- andl $255, %esi
- movl %edi, 8(%ebp)
- movl -12(%ebp), %edx
- addl $12, %esp
- leal -8(%ebp), %esp
- movl %esi, %eax
- popl %esi
- popl %edi
- leave
- jmp getIntelCacheEntryLineSize
- .size getIntelRegisterCacheLineSize, .-getIntelRegisterCacheLineSize
- .align 4
-.globl s_mpi_getProcessorLineSize
- .type s_mpi_getProcessorLineSize, @function
-s_mpi_getProcessorLineSize:
- pushl %ebp
- movl %esp, %ebp
- pushl %edi
- pushl %esi
- pushl %ebx
- subl $188, %esp
- call .L52
-.L52:
- popl %ebx
- addl $_GLOBAL_OFFSET_TABLE_+[.-.L52], %ebx
- movl $9, -168(%ebp)
- movl $262144, %eax
- call changeFlag
- xorl %edx, %edx
- testl %eax, %eax
- jne .L50
-.L19:
- leal -12(%ebp), %esp
- popl %ebx
- popl %esi
- movl %edx, %eax
- popl %edi
- leave
- ret
- .align 4
-.L50:
- movl $2097152, %eax
- call changeFlag
- testl %eax, %eax
- movl $32, %edx
- je .L19
- leal -108(%ebp), %eax
- pushl %eax
- leal -112(%ebp), %eax
- pushl %eax
- leal -116(%ebp), %eax
- pushl %eax
- leal -120(%ebp), %edx
- xorl %eax, %eax
- call cpuid
- movl -120(%ebp), %eax
- movl %eax, -164(%ebp)
- movl -116(%ebp), %eax
- movl %eax, -104(%ebp)
- movl -108(%ebp), %eax
- movl %eax, -100(%ebp)
- movl -112(%ebp), %eax
- movl %eax, -96(%ebp)
- movb $0, -92(%ebp)
- xorl %esi, %esi
- addl $12, %esp
- leal -104(%ebp), %edi
- .align 4
-.L28:
- subl $8, %esp
- pushl %edi
- pushl manMap@GOTOFF(%ebx,%esi,4)
- call strcmp@PLT
- addl $16, %esp
- testl %eax, %eax
- jne .L26
- movl %esi, -168(%ebp)
-.L26:
- incl %esi
- cmpl $9, %esi
- jle .L28
- movl -168(%ebp), %eax
- testl %eax, %eax
- jne .L29
- xorl %eax, %eax
- cmpl $1, -164(%ebp)
- movl $4, -144(%ebp)
- movl $0, -140(%ebp)
- jle .L41
- leal -124(%ebp), %edx
- movl %edx, -188(%ebp)
- leal -128(%ebp), %eax
- pushl %edx
- movl %eax, -184(%ebp)
- leal -132(%ebp), %edx
- pushl %eax
- movl %edx, -180(%ebp)
- movl $2, %eax
- pushl %edx
- leal -136(%ebp), %edx
- call cpuid
- movl -136(%ebp), %eax
- movl %eax, %edi
- andl $15, %edi
- xorl %esi, %esi
- addl $12, %esp
- leal -140(%ebp), %edx
- cmpl %edi, %esi
- movl %edx, -176(%ebp)
- jl .L40
- jmp .L48
- .align 4
-.L49:
- movl -136(%ebp), %eax
-.L40:
- testl %eax, %eax
- js .L35
- xorb %al, %al
- pushl -176(%ebp)
- leal -144(%ebp), %edx
- call getIntelRegisterCacheLineSize
- popl %eax
-.L35:
- movl -132(%ebp), %eax
- testl %eax, %eax
- js .L36
- pushl -176(%ebp)
- leal -144(%ebp), %edx
- call getIntelRegisterCacheLineSize
- popl %eax
-.L36:
- movl -128(%ebp), %eax
- testl %eax, %eax
- js .L37
- pushl -176(%ebp)
- leal -144(%ebp), %edx
- call getIntelRegisterCacheLineSize
- popl %eax
-.L37:
- movl -124(%ebp), %eax
- testl %eax, %eax
- js .L38
- pushl -176(%ebp)
- leal -144(%ebp), %edx
- call getIntelRegisterCacheLineSize
- popl %eax
-.L38:
- incl %esi
- cmpl %edi, %esi
- je .L34
- pushl -188(%ebp)
- pushl -184(%ebp)
- pushl -180(%ebp)
- leal -136(%ebp), %edx
- movl $2, %eax
- call cpuid
- addl $12, %esp
-.L34:
- cmpl %edi, %esi
- jl .L49
-.L48:
- movl -140(%ebp), %eax
-.L41:
- testl %eax, %eax
- jne .L44
- movb $32, %al
-.L44:
- leal -12(%ebp), %esp
- popl %ebx
- popl %esi
- movl %eax, %edx
- movl %edx, %eax
- popl %edi
- leave
- ret
-.L29:
- leal -148(%ebp), %eax
- movl %eax, -192(%ebp)
- movl $0, -172(%ebp)
- leal -152(%ebp), %edi
- pushl %eax
- pushl %edi
- leal -156(%ebp), %esi
- pushl %esi
- leal -160(%ebp), %edx
- movl $-2147483648, %eax
- call cpuid
- addl $12, %esp
- cmpl $-2147483644, -160(%ebp)
- ja .L51
-.L42:
- movl -172(%ebp), %eax
- jmp .L41
-.L51:
- pushl -192(%ebp)
- pushl %edi
- pushl %esi
- leal -160(%ebp), %edx
- movl $-2147483643, %eax
- call cpuid
- movzbl -152(%ebp), %edx
- addl $12, %esp
- movl %edx, -172(%ebp)
- jmp .L42
- .size s_mpi_getProcessorLineSize, .-s_mpi_getProcessorLineSize