| static void |
| __marvel_access_rtc(void *info) |
| { |
| struct marvel_rtc_access_info *rtc_access = info; |
| |
| register unsigned long __r0 __asm__("$0"); |
| register unsigned long __r16 __asm__("$16") = rtc_access->function; |
| register unsigned long __r17 __asm__("$17") = rtc_access->index; |
| register unsigned long __r18 __asm__("$18") = rtc_access->data; |
| |
| __asm__ __volatile__( |
| "call_pal %4 # cserve rtc" |
| : "=r"(__r16), "=r"(__r17), "=r"(__r18), "=r"(__r0) |
| : "i"(PAL_cserve), "0"(__r16), "1"(__r17), "2"(__r18) |
| : "$1", "$22", "$23", "$24", "$25"); |
| |
| rtc_access->data = __r0; |
| } |
| |