aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/xen
diff options
context:
space:
mode:
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>2012-09-14 09:53:39 -0400
committerStefano Stabellini <stefano.stabellini@eu.citrix.com>2012-09-14 09:53:39 -0400
commit4c071ee5268f7234c3d084b6093bebccc28cdcba (patch)
tree6eaa7a6848263e9ea566f7b46d2c6667108c618e /arch/arm/xen
parentecc635f90adfe1b7cd5fd354f49edfbf24aa4e3e (diff)
arm: initial Xen support
- Basic hypervisor.h and interface.h definitions. - Skeleton enlighten.c, set xen_start_info to an empty struct. - Make xen_initial_domain dependent on the SIF_PRIVILIGED_BIT. The new code only compiles when CONFIG_XEN is set, that is going to be added to arch/arm/Kconfig in patch #11 "xen/arm: introduce CONFIG_XEN on ARM". Changes in v3: - improve comments. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'arch/arm/xen')
-rw-r--r--arch/arm/xen/Makefile1
-rw-r--r--arch/arm/xen/enlighten.c35
2 files changed, 36 insertions, 0 deletions
diff --git a/arch/arm/xen/Makefile b/arch/arm/xen/Makefile
new file mode 100644
index 000000000000..0bad594b1490
--- /dev/null
+++ b/arch/arm/xen/Makefile
@@ -0,0 +1 @@
obj-y := enlighten.o
diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c
new file mode 100644
index 000000000000..c53554032a60
--- /dev/null
+++ b/arch/arm/xen/enlighten.c
@@ -0,0 +1,35 @@
1#include <xen/xen.h>
2#include <xen/interface/xen.h>
3#include <xen/interface/memory.h>
4#include <xen/platform_pci.h>
5#include <asm/xen/hypervisor.h>
6#include <asm/xen/hypercall.h>
7#include <linux/module.h>
8
9struct start_info _xen_start_info;
10struct start_info *xen_start_info = &_xen_start_info;
11EXPORT_SYMBOL_GPL(xen_start_info);
12
13enum xen_domain_type xen_domain_type = XEN_NATIVE;
14EXPORT_SYMBOL_GPL(xen_domain_type);
15
16struct shared_info xen_dummy_shared_info;
17struct shared_info *HYPERVISOR_shared_info = (void *)&xen_dummy_shared_info;
18
19DEFINE_PER_CPU(struct vcpu_info *, xen_vcpu);
20
21/* TODO: to be removed */
22__read_mostly int xen_have_vector_callback;
23EXPORT_SYMBOL_GPL(xen_have_vector_callback);
24
25int xen_platform_pci_unplug = XEN_UNPLUG_ALL;
26EXPORT_SYMBOL_GPL(xen_platform_pci_unplug);
27
28int xen_remap_domain_mfn_range(struct vm_area_struct *vma,
29 unsigned long addr,
30 unsigned long mfn, int nr,
31 pgprot_t prot, unsigned domid)
32{
33 return -ENOSYS;
34}
35EXPORT_SYMBOL_GPL(xen_remap_domain_mfn_range);