[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Xen-devel] [PATCH v1 04/12] xen/hvmlite: Bootstrap HVMlite guest
- To: "Luis R. Rodriguez" <mcgrof@xxxxxxxx>
- From: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
- Date: Mon, 25 Jan 2016 11:08:47 -0500
- Cc: Juergen Gross <jgross@xxxxxxxx>, Jeremy Fitzhardinge <jeremy@xxxxxxxx>, Rusty Russell <rusty@xxxxxxxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, Andy Lutomirski <luto@xxxxxxxxxxxxxx>, david.vrabel@xxxxxxxxxx, hpa@xxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxxx, Borislav Petkov <bp@xxxxxxx>, roger.pau@xxxxxxxxxx
- Delivery-date: Mon, 25 Jan 2016 16:09:00 +0000
- List-id: Xen developer discussion <xen-devel.lists.xen.org>
On 01/22/2016 06:32 PM, Luis R. Rodriguez wrote:
On Fri, Jan 22, 2016 at 04:35:50PM -0500, Boris Ostrovsky wrote:
+/*
+ * This routine (and those that it might call) should not use
+ * anything that lives in .bss since that segment will be cleared later
+ */
+void __init xen_prepare_hvmlite(void)
+{
+ u32 eax, ecx, edx, msr;
+ u64 pfn;
+
+ cpuid(xen_cpuid_base() + 2, &eax, &msr, &ecx, &edx);
+ pfn = __pa(hypercall_page);
+ wrmsr_safe(msr, (u32)pfn, (u32)(pfn >> 32));
+
+ pv_info.name = "Xen HVMlite";
+ xen_domain_type = XEN_HVM_DOMAIN;
+ xen_hvmlite = 1;
+
+ x86_init.oem.arch_setup = xen_init_kernel;
+ x86_init.oem.banner = xen_banner;
+
+ hvmlite_bootparams();
+}
+#endif
If the boot_params.hdr.hardware_subarch_data pointed to a custom
struct then the first C entry point for Xen could shuffle this and
set this too, by still using less asm entry helpers. We'd still
need this run but with the linker table I think we could have
a stub small stub for hvm run, it would not be a call from asm.
Perhaps, but someone would still have to set hardware_subarch. And it's
hvmlite_bootparams() that does it.
And that's not sufficient, I think. There are still some things that
trampoline code sets up (e.g. page tables for 64-bit).
-boris
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|