Minor updates to ppccap.c and ppccpuid.pl.
authorAndy Polyakov <appro@openssl.org>
Sun, 17 Jan 2010 13:44:14 +0000 (13:44 +0000)
committerAndy Polyakov <appro@openssl.org>
Sun, 17 Jan 2010 13:44:14 +0000 (13:44 +0000)
crypto/ppccap.c
crypto/ppccpuid.pl

index 2c3e1f2fcbe2c0da53c3780255d5fb11602bda8d..aa095ca4ba0194a3373aed131fcabc5dc9113511 100644 (file)
@@ -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")))
                {
index 5b866bd2884230f846f5e92a19f0fc0e05cf234d..a52a8b38d0c0a877470c756511613c1649bd9589 100755 (executable)
@@ -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