diff options
author | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2012-09-26 16:42:14 -0400 |
---|---|---|
committer | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2012-09-26 16:43:35 -0400 |
commit | ae1659ee6b4bf5e12a141d04636a3de89543c237 (patch) | |
tree | 67ca3da7e9461832f9e2cb23fc89b5c7c92ff10d /include | |
parent | c341ca45ce56143804ef5a8f4db753e554e640b4 (diff) | |
parent | bbd6eb29214e1a278e8575f57d64b88077bebf6d (diff) |
Merge branch 'xenarm-for-linus' of git://xenbits.xen.org/people/sstabellini/linux-pvhvm into stable/for-linus-3.7
* 'xenarm-for-linus' of git://xenbits.xen.org/people/sstabellini/linux-pvhvm:
arm: introduce a DTS for Xen unprivileged virtual machines
MAINTAINERS: add myself as Xen ARM maintainer
xen/arm: compile netback
xen/arm: compile blkfront and blkback
xen/arm: implement alloc/free_xenballooned_pages with alloc_pages/kfree
xen/arm: receive Xen events on ARM
xen/arm: initialize grant_table on ARM
xen/arm: get privilege status
xen/arm: introduce CONFIG_XEN on ARM
xen: do not compile manage, balloon, pci, acpi, pcpu and cpu_hotplug on ARM
xen/arm: Introduce xen_ulong_t for unsigned long
xen/arm: Xen detection and shared_info page mapping
docs: Xen ARM DT bindings
xen/arm: empty implementation of grant_table arch specific functions
xen/arm: sync_bitops
xen/arm: page.h definitions
xen/arm: hypercalls
arm: initial Xen support
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/xen/events.h | 2 | ||||
-rw-r--r-- | include/xen/interface/features.h | 3 | ||||
-rw-r--r-- | include/xen/interface/io/protocols.h | 3 | ||||
-rw-r--r-- | include/xen/interface/memory.h | 12 | ||||
-rw-r--r-- | include/xen/interface/physdev.h | 2 | ||||
-rw-r--r-- | include/xen/interface/version.h | 2 | ||||
-rw-r--r-- | include/xen/xen.h | 2 |
7 files changed, 17 insertions, 9 deletions
diff --git a/include/xen/events.h b/include/xen/events.h index 04399b28e821..c6bfe01acf6b 100644 --- a/include/xen/events.h +++ b/include/xen/events.h | |||
@@ -109,4 +109,6 @@ int xen_irq_from_gsi(unsigned gsi); | |||
109 | /* Determine whether to ignore this IRQ if it is passed to a guest. */ | 109 | /* Determine whether to ignore this IRQ if it is passed to a guest. */ |
110 | int xen_test_irq_shared(int irq); | 110 | int xen_test_irq_shared(int irq); |
111 | 111 | ||
112 | /* initialize Xen IRQ subsystem */ | ||
113 | void xen_init_IRQ(void); | ||
112 | #endif /* _XEN_EVENTS_H */ | 114 | #endif /* _XEN_EVENTS_H */ |
diff --git a/include/xen/interface/features.h b/include/xen/interface/features.h index b6ca39a069d8..131a6ccdba25 100644 --- a/include/xen/interface/features.h +++ b/include/xen/interface/features.h | |||
@@ -50,6 +50,9 @@ | |||
50 | /* x86: pirq can be used by HVM guests */ | 50 | /* x86: pirq can be used by HVM guests */ |
51 | #define XENFEAT_hvm_pirqs 10 | 51 | #define XENFEAT_hvm_pirqs 10 |
52 | 52 | ||
53 | /* operation as Dom0 is supported */ | ||
54 | #define XENFEAT_dom0 11 | ||
55 | |||
53 | #define XENFEAT_NR_SUBMAPS 1 | 56 | #define XENFEAT_NR_SUBMAPS 1 |
54 | 57 | ||
55 | #endif /* __XEN_PUBLIC_FEATURES_H__ */ | 58 | #endif /* __XEN_PUBLIC_FEATURES_H__ */ |
diff --git a/include/xen/interface/io/protocols.h b/include/xen/interface/io/protocols.h index 01fc8ae5f0b0..0eafaf254fff 100644 --- a/include/xen/interface/io/protocols.h +++ b/include/xen/interface/io/protocols.h | |||
@@ -5,6 +5,7 @@ | |||
5 | #define XEN_IO_PROTO_ABI_X86_64 "x86_64-abi" | 5 | #define XEN_IO_PROTO_ABI_X86_64 "x86_64-abi" |
6 | #define XEN_IO_PROTO_ABI_IA64 "ia64-abi" | 6 | #define XEN_IO_PROTO_ABI_IA64 "ia64-abi" |
7 | #define XEN_IO_PROTO_ABI_POWERPC64 "powerpc64-abi" | 7 | #define XEN_IO_PROTO_ABI_POWERPC64 "powerpc64-abi" |
8 | #define XEN_IO_PROTO_ABI_ARM "arm-abi" | ||
8 | 9 | ||
9 | #if defined(__i386__) | 10 | #if defined(__i386__) |
10 | # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_X86_32 | 11 | # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_X86_32 |
@@ -14,6 +15,8 @@ | |||
14 | # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_IA64 | 15 | # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_IA64 |
15 | #elif defined(__powerpc64__) | 16 | #elif defined(__powerpc64__) |
16 | # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_POWERPC64 | 17 | # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_POWERPC64 |
18 | #elif defined(__arm__) | ||
19 | # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_ARM | ||
17 | #else | 20 | #else |
18 | # error arch fixup needed here | 21 | # error arch fixup needed here |
19 | #endif | 22 | #endif |
diff --git a/include/xen/interface/memory.h b/include/xen/interface/memory.h index d8e33a93ea4d..b66d04ce6957 100644 --- a/include/xen/interface/memory.h +++ b/include/xen/interface/memory.h | |||
@@ -34,7 +34,7 @@ struct xen_memory_reservation { | |||
34 | GUEST_HANDLE(xen_pfn_t) extent_start; | 34 | GUEST_HANDLE(xen_pfn_t) extent_start; |
35 | 35 | ||
36 | /* Number of extents, and size/alignment of each (2^extent_order pages). */ | 36 | /* Number of extents, and size/alignment of each (2^extent_order pages). */ |
37 | unsigned long nr_extents; | 37 | xen_ulong_t nr_extents; |
38 | unsigned int extent_order; | 38 | unsigned int extent_order; |
39 | 39 | ||
40 | /* | 40 | /* |
@@ -92,7 +92,7 @@ struct xen_memory_exchange { | |||
92 | * command will be non-zero. | 92 | * command will be non-zero. |
93 | * 5. THIS FIELD MUST BE INITIALISED TO ZERO BY THE CALLER! | 93 | * 5. THIS FIELD MUST BE INITIALISED TO ZERO BY THE CALLER! |
94 | */ | 94 | */ |
95 | unsigned long nr_exchanged; | 95 | xen_ulong_t nr_exchanged; |
96 | }; | 96 | }; |
97 | 97 | ||
98 | DEFINE_GUEST_HANDLE_STRUCT(xen_memory_exchange); | 98 | DEFINE_GUEST_HANDLE_STRUCT(xen_memory_exchange); |
@@ -148,8 +148,8 @@ DEFINE_GUEST_HANDLE_STRUCT(xen_machphys_mfn_list); | |||
148 | */ | 148 | */ |
149 | #define XENMEM_machphys_mapping 12 | 149 | #define XENMEM_machphys_mapping 12 |
150 | struct xen_machphys_mapping { | 150 | struct xen_machphys_mapping { |
151 | unsigned long v_start, v_end; /* Start and end virtual addresses. */ | 151 | xen_ulong_t v_start, v_end; /* Start and end virtual addresses. */ |
152 | unsigned long max_mfn; /* Maximum MFN that can be looked up. */ | 152 | xen_ulong_t max_mfn; /* Maximum MFN that can be looked up. */ |
153 | }; | 153 | }; |
154 | DEFINE_GUEST_HANDLE_STRUCT(xen_machphys_mapping_t); | 154 | DEFINE_GUEST_HANDLE_STRUCT(xen_machphys_mapping_t); |
155 | 155 | ||
@@ -172,7 +172,7 @@ struct xen_add_to_physmap { | |||
172 | unsigned int space; | 172 | unsigned int space; |
173 | 173 | ||
174 | /* Index into source mapping space. */ | 174 | /* Index into source mapping space. */ |
175 | unsigned long idx; | 175 | xen_ulong_t idx; |
176 | 176 | ||
177 | /* GPFN where the source mapping page should appear. */ | 177 | /* GPFN where the source mapping page should appear. */ |
178 | xen_pfn_t gpfn; | 178 | xen_pfn_t gpfn; |
@@ -189,7 +189,7 @@ struct xen_translate_gpfn_list { | |||
189 | domid_t domid; | 189 | domid_t domid; |
190 | 190 | ||
191 | /* Length of list. */ | 191 | /* Length of list. */ |
192 | unsigned long nr_gpfns; | 192 | xen_ulong_t nr_gpfns; |
193 | 193 | ||
194 | /* List of GPFNs to translate. */ | 194 | /* List of GPFNs to translate. */ |
195 | GUEST_HANDLE(ulong) gpfn_list; | 195 | GUEST_HANDLE(ulong) gpfn_list; |
diff --git a/include/xen/interface/physdev.h b/include/xen/interface/physdev.h index 9ce788d8cf49..f616514f781b 100644 --- a/include/xen/interface/physdev.h +++ b/include/xen/interface/physdev.h | |||
@@ -56,7 +56,7 @@ struct physdev_eoi { | |||
56 | #define PHYSDEVOP_pirq_eoi_gmfn_v2 28 | 56 | #define PHYSDEVOP_pirq_eoi_gmfn_v2 28 |
57 | struct physdev_pirq_eoi_gmfn { | 57 | struct physdev_pirq_eoi_gmfn { |
58 | /* IN */ | 58 | /* IN */ |
59 | unsigned long gmfn; | 59 | xen_ulong_t gmfn; |
60 | }; | 60 | }; |
61 | 61 | ||
62 | /* | 62 | /* |
diff --git a/include/xen/interface/version.h b/include/xen/interface/version.h index dd58cf5ea3e4..3030c81c09ce 100644 --- a/include/xen/interface/version.h +++ b/include/xen/interface/version.h | |||
@@ -45,7 +45,7 @@ struct xen_changeset_info { | |||
45 | 45 | ||
46 | #define XENVER_platform_parameters 5 | 46 | #define XENVER_platform_parameters 5 |
47 | struct xen_platform_parameters { | 47 | struct xen_platform_parameters { |
48 | unsigned long virt_start; | 48 | xen_ulong_t virt_start; |
49 | }; | 49 | }; |
50 | 50 | ||
51 | #define XENVER_get_features 6 | 51 | #define XENVER_get_features 6 |
diff --git a/include/xen/xen.h b/include/xen/xen.h index a16402418d31..2c0d3a56c749 100644 --- a/include/xen/xen.h +++ b/include/xen/xen.h | |||
@@ -23,7 +23,7 @@ extern enum xen_domain_type xen_domain_type; | |||
23 | #include <xen/interface/xen.h> | 23 | #include <xen/interface/xen.h> |
24 | #include <asm/xen/hypervisor.h> | 24 | #include <asm/xen/hypervisor.h> |
25 | 25 | ||
26 | #define xen_initial_domain() (xen_pv_domain() && \ | 26 | #define xen_initial_domain() (xen_domain() && \ |
27 | xen_start_info->flags & SIF_INITDOMAIN) | 27 | xen_start_info->flags & SIF_INITDOMAIN) |
28 | #else /* !CONFIG_XEN_DOM0 */ | 28 | #else /* !CONFIG_XEN_DOM0 */ |
29 | #define xen_initial_domain() (0) | 29 | #define xen_initial_domain() (0) |