X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-i386%2Fmach-xen%2Fasm%2Firqflags.h;h=651d416cfc0f18824ea19139e6f40745f2bb5201;hb=refs%2Fremotes%2Fvserver;hp=dc7fd071a71c1b0b2a0499696d833e633a4b50e2;hpb=76828883507a47dae78837ab5dec5a5b4513c667;p=linux-2.6.git diff --git a/include/asm-i386/mach-xen/asm/irqflags.h b/include/asm-i386/mach-xen/asm/irqflags.h index dc7fd071a..651d416cf 100644 --- a/include/asm-i386/mach-xen/asm/irqflags.h +++ b/include/asm-i386/mach-xen/asm/irqflags.h @@ -10,12 +10,13 @@ #ifndef _ASM_IRQFLAGS_H #define _ASM_IRQFLAGS_H +#ifdef CONFIG_PARAVIRT +#include +#else #ifndef __ASSEMBLY__ -#define raw_local_save_flags(flags) \ - do { (flags) = __raw_local_save_flags(); } while (0) - unsigned long __raw_local_save_flags(void); + void raw_local_irq_restore(unsigned long flags); void raw_local_irq_disable(void); void raw_local_irq_enable(void); @@ -32,20 +33,35 @@ void raw_safe_halt(void); */ void halt(void); -static inline int raw_irqs_disabled_flags(unsigned long flags) -{ - return flags != 0; -} - -int raw_irqs_disabled(void); - /* * For spinlocks, etc: */ unsigned long __raw_local_irq_save(void); + +#else +#define DISABLE_INTERRUPTS(clobbers) GET_VCPU_INFO ; \ + __DISABLE_INTERRUPTS +#define ENABLE_INTERRUPTS(clobbers) GET_VCPU_INFO ; \ + __ENABLE_INTERRUPTS +#define ENABLE_INTERRUPTS_SYSEXIT NET_DONE_YET +#define INTERRUPT_RETURN iret +#define GET_CR0_INTO_EAX NOT_DONE_YET +#endif /* __ASSEMBLY__ */ +#endif /* CONFIG_PARAVIRT */ + +#ifndef __ASSEMBLY__ +#define raw_local_save_flags(flags) \ + do { (flags) = __raw_local_save_flags(); } while (0) + #define raw_local_irq_save(flags) \ do { (flags) = __raw_local_irq_save(); } while (0) +static inline int raw_irqs_disabled_flags(unsigned long flags) +{ + return flags != 0; +} + +int raw_irqs_disabled(void); #endif /* __ASSEMBLY__ */ /*