]> git.saurik.com Git - apple/xnu.git/blobdiff - libsyscall/custom/__getpid.s
xnu-1228.3.13.tar.gz
[apple/xnu.git] / libsyscall / custom / __getpid.s
index a6cc5a5f42cbaa7a365feb8334e212e52764b706..1299a164557279232a74a0bfb3578ea6e1d6f79f 100644 (file)
@@ -135,51 +135,6 @@ LEAF(___getpid, 0)
        movl            %edx, %eax
        ret
 
-#elif defined(__arm__)
-
-#include <arm/arch.h>
-       
-       .data
-       .globl  __current_pid
-       .align 2
-__current_pid:
-       /* Cached pid.  Possible values:
-        *      0:              no value cached
-        *      > 0:            cached PID of current process
-        *      < 0:            negative number of vforks in progress
-        *      INT_MIN:        for pre-ARMv6, "looking" value (0x80000000)
-        */
-       .long 0
-
-MI_ENTRY_POINT(_getpid)
-       ldr     r3, L__current_pid
-L1:    add     r3, pc, r3              // r3 = &__current_pid
-       ldr     r0, [r3]                // get the cached pid
-       cmp     r0, #0
-       bxgt    lr                      // if positive, return it
-
-       SYSCALL_NONAME(getpid, 0)
-
-#ifdef _ARM_ARCH_6
-       ldrex   r2, [r3]                // see if we can cache it
-       cmp     r2, #0                  // we can't if there are any...
-       bxlt    lr                      // ...vforks in progress
-       strex   r2, r0, [r3]            // ignore conflicts
-#else
-       mov     r1, #0x80000000         // load "looking" value
-       swp     r2, r1, [r3]            // look at the value, lock others out
-       cmp     r2, r1                  // anyone else trying to look?
-       bxeq    lr                      // yes, so return immediately/  
-       cmp     r2, #0                  // see if we can cache it
-       streq   r0, [r3]                // if zero, we can
-       strne   r2, [r3]                // otherwise restore previous value
-#endif
-               
-       bx      lr
-                               
-L__current_pid:        
-       .long   __current_pid - (L1+8)          
-
 #else
 #error Unsupported architecture
 #endif