diff options
author | Andy Polyakov <appro@openssl.org> | 2010-07-01 09:34:56 +0200 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2010-07-01 09:34:56 +0200 |
commit | c32fcca6f4cf7d382905b26c8d6402de032f947e (patch) | |
tree | 530f3fa6c44385f70e6fa32d6017934ed584de41 /crypto/sparccpuid.S | |
parent | no need for empty fragments with TLS 1.1 and later due to explicit IV (diff) | |
download | openssl-c32fcca6f4cf7d382905b26c8d6402de032f947e.tar.xz openssl-c32fcca6f4cf7d382905b26c8d6402de032f947e.zip |
SPARCv9 assembler pack: refine CPU detection on Linux, fix for "unaligned
opcodes detected in executable segment" error.
Diffstat (limited to 'crypto/sparccpuid.S')
-rw-r--r-- | crypto/sparccpuid.S | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/crypto/sparccpuid.S b/crypto/sparccpuid.S index aa8b11efc9..1140b5c559 100644 --- a/crypto/sparccpuid.S +++ b/crypto/sparccpuid.S @@ -225,13 +225,33 @@ _sparcv9_rdtick: xor %o0,%o0,%o0 .word 0x91410000 !rd %tick,%o0 retl - .word 0x93323020 !srlx %o2,32,%o1 + .word 0x93323020 !srlx %o0,32,%o1 .notick: retl xor %o1,%o1,%o1 .type _sparcv9_rdtick,#function .size _sparcv9_rdtick,.-_sparcv9_rdtick +.global _sparcv9_rdwrasi +.align 8 +_sparcv9_rdwrasi: + .word 0x9340c000 !rd %asi,%o1 + .word 0x87820000 !wr %o0,%g0,%asi + retl + mov %o1,%o0 +.type _sparcv9_rdwrasi,#function +.size _sparcv9_rdwrasi,.-_sparcv9_rdwrasi + +.global _sparcv9_vis1_probe +.align 8 +_sparcv9_vis1_probe: + .word 0x81b00c20 !fzeros %f0 + .word 0xc19ba002+BIAS !ldda [%sp+BIAS+2]%asi,%f0 + retl + nop +.type _sparcv9_vis1_probe,#function +.size _sparcv9_vis1_probe,.-_sparcv9_vis1_probe + .global OPENSSL_cleanse .align 32 OPENSSL_cleanse: |