]> git.saurik.com Git - apple/libc.git/blobdiff - ppc/sys/ppc_gettimeofday.s
Libc-391.1.21.tar.gz
[apple/libc.git] / ppc / sys / ppc_gettimeofday.s
index f40757ca3889b48e8afa1484e97235913d3a03c5..9d844172da43dfb173d41d7745858e6fd2f99a03 100644 (file)
@@ -1,10 +1,8 @@
 /*
- * Copyright (c) 1999-2003 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 1999-2005 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
- * Copyright (c) 1999-2003 Apple Computer, Inc.  All Rights Reserved.
- * 
  * This file contains Original Code and/or Modifications of Original Code
  * as defined in and that are subject to the Apple Public Source License
  * Version 2.0 (the 'License'). You may not use this file except in
 #include <machine/cpu_capabilities.h>
 #undef __APPLE_API_PRIVATE
 
-LEAF(___commpage_gettimeofday)
+MI_ENTRY_POINT(___commpage_gettimeofday)
     ba _COMM_PAGE_GETTIMEOFDAY
 
-       .globl cerror
-LEAF(___ppc_gettimeofday)
-        li      r0,SYS_gettimeofday               
-       mr      r12,r3                          
-        sc                                      
-        b       1f                              
-        b       2f                              
-1:      BRANCH_EXTERN(cerror)                   
-2:     
-       mr.     r12,r12
-       beq     3f
-       stw     r3,0(r12)
-       stw     r4,4(r12)
-       li      r3,0
-3:
+
+/* This syscall is special cased: the timeval is returned in r3/r4.
+ * Note also that the "seconds" field of the timeval is a long, so
+ * it's size is mode dependent.
+ */
+MI_ENTRY_POINT(___gettimeofday)
+    mr      r12,r3              // save ptr to timeval
+    SYSCALL_NONAME(gettimeofday,0)
+       stg     r3,0(r12)           // "stw" in 32-bit mode, "std" in 64-bit mode
+       stw     r4,GPR_BYTES(r12)
+       li      r3,0
        blr