1#ifndef INCLUDE_XEN_OPS_H
2#define INCLUDE_XEN_OPS_H
3
4#include <linux/percpu.h>
5#include <linux/notifier.h>
6#include <linux/efi.h>
7#include <asm/xen/interface.h>
8
9DECLARE_PER_CPU(struct vcpu_info *, xen_vcpu);
10
11void xen_arch_pre_suspend(void);
12void xen_arch_post_suspend(int suspend_cancelled);
13
14void xen_timer_resume(void);
15void xen_arch_resume(void);
16
17void xen_resume_notifier_register(struct notifier_block *nb);
18void xen_resume_notifier_unregister(struct notifier_block *nb);
19
20int xen_setup_shutdown_event(void);
21
22extern unsigned long *xen_contiguous_bitmap;
23int xen_create_contiguous_region(phys_addr_t pstart, unsigned int order,
24 unsigned int address_bits,
25 dma_addr_t *dma_handle);
26
27void xen_destroy_contiguous_region(phys_addr_t pstart, unsigned int order);
28
29struct vm_area_struct;
30int xen_remap_domain_mfn_range(struct vm_area_struct *vma,
31 unsigned long addr,
32 xen_pfn_t mfn, int nr,
33 pgprot_t prot, unsigned domid,
34 struct page **pages);
35int xen_unmap_domain_mfn_range(struct vm_area_struct *vma,
36 int numpgs, struct page **pages);
37
38bool xen_running_on_version_or_later(unsigned int major, unsigned int minor);
39
40#ifdef CONFIG_XEN_EFI
41extern efi_system_table_t *xen_efi_probe(void);
42#else
43static inline efi_system_table_t __init *xen_efi_probe(void)
44{
45 return NULL;
46}
47#endif
48
49#endif
50