Rev 1769 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1769 | Rev 1780 | ||
|---|---|---|---|
| Line 50... | Line 50... | ||
| 50 | * |
50 | * |
| 51 | * Return the base address of the current stack. |
51 | * Return the base address of the current stack. |
| 52 | * The stack is assumed to be STACK_SIZE bytes long. |
52 | * The stack is assumed to be STACK_SIZE bytes long. |
| 53 | * The stack must start on page boundary. |
53 | * The stack must start on page boundary. |
| 54 | */ |
54 | */ |
| 55 | static inline __address get_stack_base(void) |
55 | static inline uintptr_t get_stack_base(void) |
| 56 | { |
56 | { |
| 57 | __address v; |
57 | uintptr_t v; |
| 58 | 58 | ||
| 59 | __asm__ volatile ("and %0, $29, %1\n" : "=r" (v) : "r" (~(STACK_SIZE-1))); |
59 | __asm__ volatile ("and %0, $29, %1\n" : "=r" (v) : "r" (~(STACK_SIZE-1))); |
| 60 | 60 | ||
| 61 | return v; |
61 | return v; |
| 62 | } |
62 | } |
| 63 | 63 | ||
| 64 | extern void cpu_halt(void); |
64 | extern void cpu_halt(void); |
| 65 | extern void asm_delay_loop(__u32 t); |
65 | extern void asm_delay_loop(uint32_t t); |
| 66 | extern void userspace_asm(__address ustack, __address uspace_uarg, |
66 | extern void userspace_asm(uintptr_t ustack, uintptr_t uspace_uarg, |
| 67 | __address entry); |
67 | uintptr_t entry); |
| 68 | 68 | ||
| 69 | #endif |
69 | #endif |
| 70 | 70 | ||
| 71 | /** @} |
71 | /** @} |
| 72 | */ |
72 | */ |