summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2010-01-17 13:44:14 +0000
committerAndy Polyakov <appro@openssl.org>2010-01-17 13:44:14 +0000
commit78a533cb93ca7f235ad594a619fdb715f3a78ce6 (patch)
tree247c4ad3d1c3ba9a96965e2b205aa64b06da539f
parent4f385652043824703d293e5599301932fd64d361 (diff)
Minor updates to ppccap.c and ppccpuid.pl.
-rw-r--r--crypto/ppccap.c6
-rwxr-xr-xcrypto/ppccpuid.pl14
2 files changed, 18 insertions, 2 deletions
diff --git a/crypto/ppccap.c b/crypto/ppccap.c
index 2c3e1f2fcb..aa095ca4ba 100644
--- a/crypto/ppccap.c
+++ b/crypto/ppccap.c
@@ -57,10 +57,12 @@ void OPENSSL_cpuid_setup(void)
char *e;
sigfillset(&all_masked);
- sigdelset(&all_masked,SIGSEGV);
sigdelset(&all_masked,SIGILL);
- sigdelset(&all_masked,SIGBUS);
+ sigdelset(&all_masked,SIGTRAP);
+ sigdelset(&all_masked,SIGEMT);
sigdelset(&all_masked,SIGFPE);
+ sigdelset(&all_masked,SIGBUS);
+ sigdelset(&all_masked,SIGSEGV);
if ((e=getenv("OPENSSL_ppccap")))
{
diff --git a/crypto/ppccpuid.pl b/crypto/ppccpuid.pl
index 5b866bd288..a52a8b38d0 100755
--- a/crypto/ppccpuid.pl
+++ b/crypto/ppccpuid.pl
@@ -34,16 +34,30 @@ $code=<<___;
.align 4
.OPENSSL_wipe_cpu:
xor r0,r0,r0
+ fmr f0,f31
+ fmr f1,f31
+ fmr f2,f31
mr r3,r1
+ fmr f3,f31
xor r4,r4,r4
+ fmr f4,f31
xor r5,r5,r5
+ fmr f5,f31
xor r6,r6,r6
+ fmr f6,f31
xor r7,r7,r7
+ fmr f7,f31
xor r8,r8,r8
+ fmr f8,f31
xor r9,r9,r9
+ fmr f9,f31
xor r10,r10,r10
+ fmr f10,f31
xor r11,r11,r11
+ fmr f11,f31
xor r12,r12,r12
+ fmr f12,f31
+ fmr f13,f31
blr
.globl .OPENSSL_atomic_add