From 9b7dbe30e9d2a862a0931ee365e832bbd4d6c2e5 Mon Sep 17 00:00:00 2001 From: Liu, Jinsong <jinsong.liu@intel.com> Date: Fri, 10 Feb 2012 20:34:46 +0800 Subject: [PATCH 2/3] Xen pad paravirt interface Redirect paravirt template to Xen pv ops, preparing for Xen core parking. Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com> --- arch/x86/xen/enlighten.c | 6 ++++++ drivers/xen/Makefile | 1 + drivers/xen/xen_acpi_pad.c | 8 ++++++++ include/xen/xen-ops.h | 3 +++ 4 files changed, 18 insertions(+), 0 deletions(-) create mode 100644 drivers/xen/xen_acpi_pad.c diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c index 12eb07b..5b4f209 100644 --- a/arch/x86/xen/enlighten.c +++ b/arch/x86/xen/enlighten.c @@ -1023,6 +1023,11 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = { .end_context_switch = xen_end_context_switch, }; +static const struct pv_pad_ops xen_pad_ops __initconst = { + .acpi_pad_init = xen_acpi_pad_init, + .acpi_pad_exit = xen_acpi_pad_exit, +}; + static const struct pv_apic_ops xen_apic_ops __initconst = { #ifdef CONFIG_X86_LOCAL_APIC .startup_ipi_hook = paravirt_nop, @@ -1126,6 +1131,7 @@ asmlinkage void __init xen_start_kernel(void) pv_init_ops = xen_init_ops; pv_cpu_ops = xen_cpu_ops; pv_apic_ops = xen_apic_ops; + pv_pad_ops = xen_pad_ops; x86_init.resources.memory_setup = xen_memory_setup; x86_init.oem.arch_setup = xen_arch_setup; diff --git a/drivers/xen/Makefile b/drivers/xen/Makefile index aa31337..c0268c9 100644 --- a/drivers/xen/Makefile +++ b/drivers/xen/Makefile @@ -20,6 +20,7 @@ obj-$(CONFIG_SWIOTLB_XEN) += swiotlb-xen.o obj-$(CONFIG_XEN_DOM0) += pci.o obj-$(CONFIG_XEN_PCIDEV_BACKEND) += xen-pciback/ obj-$(CONFIG_XEN_PRIVCMD) += xen-privcmd.o +obj-$(CONFIG_XEN_DOM0) += xen_acpi_pad.o xen-evtchn-y := evtchn.o xen-gntdev-y := gntdev.o diff --git a/drivers/xen/xen_acpi_pad.c b/drivers/xen/xen_acpi_pad.c new file mode 100644 index 0000000..63ab2fb --- /dev/null +++ b/drivers/xen/xen_acpi_pad.c @@ -0,0 +1,8 @@ +int xen_acpi_pad_init(void) +{ + return 0; +} + +void xen_acpi_pad_exit(void) +{ +} diff --git a/include/xen/xen-ops.h b/include/xen/xen-ops.h index 03c85d7..eeb0d38 100644 --- a/include/xen/xen-ops.h +++ b/include/xen/xen-ops.h @@ -28,4 +28,7 @@ int xen_remap_domain_mfn_range(struct vm_area_struct *vma, unsigned long mfn, int nr, pgprot_t prot, unsigned domid); +int xen_acpi_pad_init(void); +void xen_acpi_pad_exit(void); + #endif /* INCLUDE_XEN_OPS_H */ -- 1.7.1