Subversion Repositories HelenOS

Rev

Rev 3902 | Rev 3929 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3902 Rev 3913
Line 53... Line 53...
53
 */
53
 */
54
static inline uintptr_t get_stack_base(void)
54
static inline uintptr_t get_stack_base(void)
55
{
55
{
56
    uintptr_t v;
56
    uintptr_t v;
57
   
57
   
-
 
58
    asm volatile (
-
 
59
        "and %0, $29, %1\n"
-
 
60
        : "=r" (v)
58
    asm volatile ("and %0, $29, %1\n" : "=r" (v) : "r" (~(STACK_SIZE-1)));
61
        : "r" (~(STACK_SIZE-1))
-
 
62
    );
59
   
63
   
60
    return v;
64
    return v;
61
}
65
}
62
 
66
 
63
extern void cpu_halt(void);
67
extern void cpu_halt(void);
64
extern void asm_delay_loop(uint32_t t);
68
extern void asm_delay_loop(uint32_t t);
65
extern void userspace_asm(uintptr_t ustack, uintptr_t uspace_uarg,
69
extern void userspace_asm(uintptr_t ustack, uintptr_t uspace_uarg,
66
              uintptr_t entry);
70
    uintptr_t entry);
67
 
71
 
68
extern ipl_t interrupts_disable(void);
72
extern ipl_t interrupts_disable(void);
69
extern ipl_t interrupts_enable(void);
73
extern ipl_t interrupts_enable(void);
70
extern void interrupts_restore(ipl_t ipl);
74
extern void interrupts_restore(ipl_t ipl);
71
extern ipl_t interrupts_read(void);
75
extern ipl_t interrupts_read(void);
-
 
76
extern void asm_delay_loop(uint32_t t);
72
 
77
 
73
static inline void pio_write_8(ioport_t port, uint8_t v)
78
static inline void pio_write_8(ioport_t port, uint8_t v)
74
{
79
{
75
    /* XXX */
80
    /* XXX */
76
}
81
}