aboutsummaryrefslogtreecommitdiffstats
path: root/include/xen
diff options
context:
space:
mode:
authorLiu Jinsong <jinsong.liu@intel.com>2013-01-24 20:19:47 +0800
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2013-02-19 22:02:26 -0500
commitef92e7caf9901884f19fdeb4d7a24333b33c5f37 (patch)
tree3fc55f9288c42a08fa3e8ab27b26c78bd4d34f8b /include/xen
parentdcb93b96cec723783a81e8cac7df62feaf964792 (diff)
downloadkernel_goldelico_gta04-ef92e7caf9901884f19fdeb4d7a24333b33c5f37.zip
kernel_goldelico_gta04-ef92e7caf9901884f19fdeb4d7a24333b33c5f37.tar.gz
kernel_goldelico_gta04-ef92e7caf9901884f19fdeb4d7a24333b33c5f37.tar.bz2
xen/acpi: ACPI memory hotplug
This patch implements real Xen acpi memory hotplug driver as module. When loaded, it replaces Xen stub driver. When an acpi memory device hotadd event occurs, it notifies OS and invokes notification callback, adding related memory device and parsing memory information, finally hypercall to xen hypervisor to add memory. Signed-off-by: Liu Jinsong <jinsong.liu@intel.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'include/xen')
-rw-r--r--include/xen/interface/platform.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/include/xen/interface/platform.h b/include/xen/interface/platform.h
index 5e36932..2c4fb4b 100644
--- a/include/xen/interface/platform.h
+++ b/include/xen/interface/platform.h
@@ -324,10 +324,14 @@ struct xenpf_cpu_ol {
};
DEFINE_GUEST_HANDLE_STRUCT(xenpf_cpu_ol);
-/*
- * CMD 58 and 59 are reserved for cpu hotadd and memory hotadd,
- * which are already occupied at Xen hypervisor side.
- */
+#define XENPF_mem_hotadd 59
+struct xenpf_mem_hotadd {
+ uint64_t spfn;
+ uint64_t epfn;
+ uint32_t pxm;
+ uint32_t flags;
+};
+
#define XENPF_core_parking 60
struct xenpf_core_parking {
/* IN variables */
@@ -357,6 +361,7 @@ struct xen_platform_op {
struct xenpf_set_processor_pminfo set_pminfo;
struct xenpf_pcpuinfo pcpu_info;
struct xenpf_cpu_ol cpu_ol;
+ struct xenpf_mem_hotadd mem_add;
struct xenpf_core_parking core_parking;
uint8_t pad[128];
} u;