[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56A6488F.5030909@oracle.com>
Date: Mon, 25 Jan 2016 11:08:47 -0500
From: Boris Ostrovsky <boris.ostrovsky@...cle.com>
To: "Luis R. Rodriguez" <mcgrof@...e.com>
Cc: david.vrabel@...rix.com, konrad.wilk@...cle.com,
xen-devel@...ts.xenproject.org, linux-kernel@...r.kernel.org,
roger.pau@...rix.com, hpa@...or.com,
Juergen Gross <jgross@...e.com>,
Rusty Russell <rusty@...tcorp.com.au>,
Andy Lutomirski <luto@...capital.net>,
Borislav Petkov <bp@...e.de>,
Jeremy Fitzhardinge <jeremy@...p.org>
Subject: Re: [PATCH v1 04/12] xen/hvmlite: Bootstrap HVMlite guest
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
Powered by blists - more mailing lists