Rev 28 | Rev 115 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 28 | Rev 38 | ||
---|---|---|---|
Line 27... | Line 27... | ||
27 | */ |
27 | */ |
28 | 28 | ||
29 | #ifndef __ia32_ASM_H__ |
29 | #ifndef __ia32_ASM_H__ |
30 | #define __ia32_ASM_H__ |
30 | #define __ia32_ASM_H__ |
31 | 31 | ||
32 | #include <cpu.h> |
- | |
33 | #include <arch/types.h> |
32 | #include <arch/types.h> |
34 | #include <typedefs.h> |
33 | #include <typedefs.h> |
35 | #include <mm/page.h> |
34 | #include <mm/page.h> |
36 | #include <synch/spinlock.h> |
35 | #include <synch/spinlock.h> |
37 | 36 | ||
Line 56... | Line 55... | ||
56 | extern void enable_l_apic_in_msr(void); |
55 | extern void enable_l_apic_in_msr(void); |
57 | 56 | ||
58 | extern void halt_cpu(void); |
57 | extern void halt_cpu(void); |
59 | extern void cpu_sleep(void); |
58 | extern void cpu_sleep(void); |
60 | 59 | ||
61 | extern void write_dr0(__u32 v); |
60 | static inline void write_dr0(__u32 v); |
62 | extern inline __u32 read_dr0(void); |
61 | static inline __u32 read_dr0(void); |
- | 62 | ||
- | 63 | inline void write_dr0(__u32 v) { __asm__ volatile ("movl %0,%%dr0\n" : : "r" (v)); } |
|
- | 64 | inline __u32 read_dr0(void) { __u32 v; __asm__ volatile ("movl %%dr0,%0" : "=r" (v)); return v; } |
|
63 | 65 | ||
64 | #endif |
66 | #endif |