diff options
Diffstat (limited to 'arch/x86/include/asm/xen')
| -rw-r--r-- | arch/x86/include/asm/xen/events.h | 6 | ||||
| -rw-r--r-- | arch/x86/include/asm/xen/hypervisor.h | 28 | ||||
| -rw-r--r-- | arch/x86/include/asm/xen/page.h | 1 |
3 files changed, 19 insertions, 16 deletions
diff --git a/arch/x86/include/asm/xen/events.h b/arch/x86/include/asm/xen/events.h index 19144184983..1df35417c41 100644 --- a/arch/x86/include/asm/xen/events.h +++ b/arch/x86/include/asm/xen/events.h | |||
| @@ -15,10 +15,4 @@ static inline int xen_irqs_disabled(struct pt_regs *regs) | |||
| 15 | return raw_irqs_disabled_flags(regs->flags); | 15 | return raw_irqs_disabled_flags(regs->flags); |
| 16 | } | 16 | } |
| 17 | 17 | ||
| 18 | static inline void xen_do_IRQ(int irq, struct pt_regs *regs) | ||
| 19 | { | ||
| 20 | regs->orig_ax = ~irq; | ||
| 21 | do_IRQ(regs); | ||
| 22 | } | ||
| 23 | |||
| 24 | #endif /* _ASM_X86_XEN_EVENTS_H */ | 18 | #endif /* _ASM_X86_XEN_EVENTS_H */ |
diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include/asm/xen/hypervisor.h index 81fbd735aec..d5b7e90c0ed 100644 --- a/arch/x86/include/asm/xen/hypervisor.h +++ b/arch/x86/include/asm/xen/hypervisor.h | |||
| @@ -38,22 +38,30 @@ extern struct shared_info *HYPERVISOR_shared_info; | |||
| 38 | extern struct start_info *xen_start_info; | 38 | extern struct start_info *xen_start_info; |
| 39 | 39 | ||
| 40 | enum xen_domain_type { | 40 | enum xen_domain_type { |
| 41 | XEN_NATIVE, | 41 | XEN_NATIVE, /* running on bare hardware */ |
| 42 | XEN_PV_DOMAIN, | 42 | XEN_PV_DOMAIN, /* running in a PV domain */ |
| 43 | XEN_HVM_DOMAIN, | 43 | XEN_HVM_DOMAIN, /* running in a Xen hvm domain */ |
| 44 | }; | 44 | }; |
| 45 | 45 | ||
| 46 | extern enum xen_domain_type xen_domain_type; | ||
| 47 | |||
| 48 | #ifdef CONFIG_XEN | 46 | #ifdef CONFIG_XEN |
| 49 | #define xen_domain() (xen_domain_type != XEN_NATIVE) | 47 | extern enum xen_domain_type xen_domain_type; |
| 50 | #else | 48 | #else |
| 51 | #define xen_domain() (0) | 49 | #define xen_domain_type XEN_NATIVE |
| 52 | #endif | 50 | #endif |
| 53 | 51 | ||
| 54 | #define xen_pv_domain() (xen_domain() && xen_domain_type == XEN_PV_DOMAIN) | 52 | #define xen_domain() (xen_domain_type != XEN_NATIVE) |
| 55 | #define xen_hvm_domain() (xen_domain() && xen_domain_type == XEN_HVM_DOMAIN) | 53 | #define xen_pv_domain() (xen_domain() && \ |
| 54 | xen_domain_type == XEN_PV_DOMAIN) | ||
| 55 | #define xen_hvm_domain() (xen_domain() && \ | ||
| 56 | xen_domain_type == XEN_HVM_DOMAIN) | ||
| 57 | |||
| 58 | #ifdef CONFIG_XEN_DOM0 | ||
| 59 | #include <xen/interface/xen.h> | ||
| 56 | 60 | ||
| 57 | #define xen_initial_domain() (xen_pv_domain() && xen_start_info->flags & SIF_INITDOMAIN) | 61 | #define xen_initial_domain() (xen_pv_domain() && \ |
| 62 | xen_start_info->flags & SIF_INITDOMAIN) | ||
| 63 | #else /* !CONFIG_XEN_DOM0 */ | ||
| 64 | #define xen_initial_domain() (0) | ||
| 65 | #endif /* CONFIG_XEN_DOM0 */ | ||
| 58 | 66 | ||
| 59 | #endif /* _ASM_X86_XEN_HYPERVISOR_H */ | 67 | #endif /* _ASM_X86_XEN_HYPERVISOR_H */ |
diff --git a/arch/x86/include/asm/xen/page.h b/arch/x86/include/asm/xen/page.h index 4bd990ee43d..1a918dde46b 100644 --- a/arch/x86/include/asm/xen/page.h +++ b/arch/x86/include/asm/xen/page.h | |||
| @@ -164,6 +164,7 @@ static inline pte_t __pte_ma(pteval_t x) | |||
| 164 | 164 | ||
| 165 | 165 | ||
| 166 | xmaddr_t arbitrary_virt_to_machine(void *address); | 166 | xmaddr_t arbitrary_virt_to_machine(void *address); |
| 167 | unsigned long arbitrary_virt_to_mfn(void *vaddr); | ||
| 167 | void make_lowmem_page_readonly(void *vaddr); | 168 | void make_lowmem_page_readonly(void *vaddr); |
| 168 | void make_lowmem_page_readwrite(void *vaddr); | 169 | void make_lowmem_page_readwrite(void *vaddr); |
| 169 | 170 | ||
