Message ID | 1519842483-8887-4-git-send-email-maran.wilson@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Feb 28, 2018 at 10:27:59AM -0800, Maran Wilson wrote: > We need to refactor PVH entry code so that support for other hypervisors > like Qemu/KVM can be added more easily. > > The first step in that direction is to create a new file that will > eventually hold the Xen specific routines. > > Signed-off-by: Maran Wilson <maran.wilson@oracle.com> > --- > arch/x86/pvh.c | 1 - > arch/x86/xen/Makefile | 1 + > arch/x86/xen/enlighten_pvh.c | 11 +++++++++++ > 3 files changed, 12 insertions(+), 1 deletion(-) > create mode 100644 arch/x86/xen/enlighten_pvh.c > > diff --git a/arch/x86/pvh.c b/arch/x86/pvh.c > index 436c4f003e17..b56cb5e7d6ac 100644 > --- a/arch/x86/pvh.c > +++ b/arch/x86/pvh.c > @@ -19,7 +19,6 @@ > * xen_pvh and pvh_bootparams need to live in data segment since they Perhaps remove 'xen_pvh' from there.. > * are used after startup_{32|64}, which clear .bss, are invoked. > */ > -bool xen_pvh __attribute__((section(".data"))) = 0; > struct boot_params pvh_bootparams __attribute__((section(".data"))); > > struct hvm_start_info pvh_start_info; > diff --git a/arch/x86/xen/Makefile b/arch/x86/xen/Makefile > index 7e8145b33997..ef6481a83768 100644 > --- a/arch/x86/xen/Makefile > +++ b/arch/x86/xen/Makefile > @@ -21,6 +21,7 @@ obj-y := enlighten.o multicalls.o mmu.o irq.o \ > obj-$(CONFIG_XEN_PVHVM) += enlighten_hvm.o mmu_hvm.o suspend_hvm.o > obj-$(CONFIG_XEN_PV) += setup.o apic.o pmu.o suspend_pv.o \ > p2m.o enlighten_pv.o mmu_pv.o > +obj-$(CONFIG_XEN_PVH) += enlighten_pvh.o > > obj-$(CONFIG_EVENT_TRACING) += trace.o > > diff --git a/arch/x86/xen/enlighten_pvh.c b/arch/x86/xen/enlighten_pvh.c > new file mode 100644 > index 000000000000..4b4e9cc78b8a > --- /dev/null > +++ b/arch/x86/xen/enlighten_pvh.c > @@ -0,0 +1,11 @@ > +#include <linux/types.h> > + > +/* > + * PVH variables. > + * > + * The variables xen_pvh and pvh_bootparams need to live in the data segment And remove 'and pvh_bootparams' here as well? > + * since they are used after startup_{32|64} is invoked, which will clear the > + * .bss segment. > + */ > +bool xen_pvh __attribute__((section(".data"))) = 0; > + > -- > 2.16.1 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xenproject.org > https://lists.xenproject.org/mailman/listinfo/xen-devel
diff --git a/arch/x86/pvh.c b/arch/x86/pvh.c index 436c4f003e17..b56cb5e7d6ac 100644 --- a/arch/x86/pvh.c +++ b/arch/x86/pvh.c @@ -19,7 +19,6 @@ * xen_pvh and pvh_bootparams need to live in data segment since they * are used after startup_{32|64}, which clear .bss, are invoked. */ -bool xen_pvh __attribute__((section(".data"))) = 0; struct boot_params pvh_bootparams __attribute__((section(".data"))); struct hvm_start_info pvh_start_info; diff --git a/arch/x86/xen/Makefile b/arch/x86/xen/Makefile index 7e8145b33997..ef6481a83768 100644 --- a/arch/x86/xen/Makefile +++ b/arch/x86/xen/Makefile @@ -21,6 +21,7 @@ obj-y := enlighten.o multicalls.o mmu.o irq.o \ obj-$(CONFIG_XEN_PVHVM) += enlighten_hvm.o mmu_hvm.o suspend_hvm.o obj-$(CONFIG_XEN_PV) += setup.o apic.o pmu.o suspend_pv.o \ p2m.o enlighten_pv.o mmu_pv.o +obj-$(CONFIG_XEN_PVH) += enlighten_pvh.o obj-$(CONFIG_EVENT_TRACING) += trace.o diff --git a/arch/x86/xen/enlighten_pvh.c b/arch/x86/xen/enlighten_pvh.c new file mode 100644 index 000000000000..4b4e9cc78b8a --- /dev/null +++ b/arch/x86/xen/enlighten_pvh.c @@ -0,0 +1,11 @@ +#include <linux/types.h> + +/* + * PVH variables. + * + * The variables xen_pvh and pvh_bootparams need to live in the data segment + * since they are used after startup_{32|64} is invoked, which will clear the + * .bss segment. + */ +bool xen_pvh __attribute__((section(".data"))) = 0; +
We need to refactor PVH entry code so that support for other hypervisors like Qemu/KVM can be added more easily. The first step in that direction is to create a new file that will eventually hold the Xen specific routines. Signed-off-by: Maran Wilson <maran.wilson@oracle.com> --- arch/x86/pvh.c | 1 - arch/x86/xen/Makefile | 1 + arch/x86/xen/enlighten_pvh.c | 11 +++++++++++ 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 arch/x86/xen/enlighten_pvh.c