Rev 272 | Rev 432 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 272 | Rev 431 | ||
---|---|---|---|
Line 45... | Line 45... | ||
45 | __asm__ volatile ("and %0 = %1, r12" : "=r" (v) : "r" (~(STACK_SIZE-1))); |
45 | __asm__ volatile ("and %0 = %1, r12" : "=r" (v) : "r" (~(STACK_SIZE-1))); |
46 | 46 | ||
47 | return v; |
47 | return v; |
48 | } |
48 | } |
49 | 49 | ||
- | 50 | /** Read IVR (External Interrupt Vector Register) |
|
- | 51 | * |
|
- | 52 | * @return Highest priority, pending, unmasked external interrupt vector. |
|
- | 53 | */ |
|
- | 54 | static inline __u8 read_ivr(void) |
|
- | 55 | { |
|
- | 56 | __u64 v; |
|
- | 57 | ||
- | 58 | __asm__ volatile ("mov %0 = cr65\n" : "=r" (v)); |
|
- | 59 | ||
- | 60 | return (__u8) (v & 0xf); |
|
- | 61 | } |
|
- | 62 | ||
50 | 63 | ||
51 | void cpu_sleep(void); |
64 | void cpu_sleep(void); |
52 | 65 | ||
53 | void asm_delay_loop(__u32 t); |
66 | void asm_delay_loop(__u32 t); |
54 | 67 |