diff options
| author | Vincent Hanquez <[email protected]> | 2005-06-23 00:08:42 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2005-06-23 09:45:13 -0700 |
| commit | f5012310e35bd62fd39fce338ee44422c975ff3c (patch) | |
| tree | c50cb94b050947c41f285f5b40896ad0a977777b | |
| parent | 701067c4661ebcdc155cc8f696acb24c016c058b (diff) | |
[PATCH] xen: x86: add macro for debugreg
Add 2 macros to set and get debugreg on x86. This is useful for Xen because
it will need only to redefine each macro to a hypervisor call.
Signed-off-by: Vincent Hanquez <[email protected]>
Cc: Ian Pratt <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
| -rw-r--r-- | include/asm-i386/processor.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/include/asm-i386/processor.h b/include/asm-i386/processor.h index 359bb0151742..c76c50e96225 100644 --- a/include/asm-i386/processor.h +++ b/include/asm-i386/processor.h @@ -501,12 +501,16 @@ static inline void load_esp0(struct tss_struct *tss, struct thread_struct *threa } while (0) /* - * This special macro can be used to load a debugging register + * These special macros can be used to get or set a debugging register */ -#define loaddebug(thread,register) \ - __asm__("movl %0,%%db" #register \ - : /* no output */ \ - :"r" ((thread)->debugreg[register])) +#define get_debugreg(var, register) \ + __asm__("movl %%db" #register ", %0" \ + :"=r" (var)) +#define set_debugreg(value, register) \ + __asm__("movl %0,%%db" #register \ + : /* no output */ \ + :"r" (value)) + /* Forward declaration, a strange C thing */ struct task_struct; |