|
@@ -180,6 +180,32 @@ V_FUNCTION_BEGIN(__kernel_clock_getres)
|
|
|
V_FUNCTION_END(__kernel_clock_getres)
|
|
|
|
|
|
|
|
|
+/*
|
|
|
+ * Exact prototype of time()
|
|
|
+ *
|
|
|
+ * time_t time(time *t);
|
|
|
+ *
|
|
|
+ */
|
|
|
+V_FUNCTION_BEGIN(__kernel_time)
|
|
|
+ .cfi_startproc
|
|
|
+ mflr r12
|
|
|
+ .cfi_register lr,r12
|
|
|
+
|
|
|
+ mr r11,r3 /* r11 holds t */
|
|
|
+ bl __get_datapage@local
|
|
|
+ mr r9, r3 /* datapage ptr in r9 */
|
|
|
+
|
|
|
+ lwz r3,STAMP_XTIME+TSPEC_TV_SEC(r9)
|
|
|
+
|
|
|
+ cmplwi r11,0 /* check if t is NULL */
|
|
|
+ beq 2f
|
|
|
+ stw r3,0(r11) /* store result at *t */
|
|
|
+2: mtlr r12
|
|
|
+ crclr cr0*4+so
|
|
|
+ blr
|
|
|
+ .cfi_endproc
|
|
|
+V_FUNCTION_END(__kernel_time)
|
|
|
+
|
|
|
/*
|
|
|
* This is the core of clock_gettime() and gettimeofday(),
|
|
|
* it returns the current time in r3 (seconds) and r4.
|