Subversion Repositories HelenOS

Rev

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