On 7/9/19 10:07 PM, Zhenzhong Duan wrote:
> On 2019/7/9 22:54, Boris Ostrovsky wrote:
>> On 7/9/19 12:20 AM, Zhenzhong Duan wrote:
>>> -const __initconst struct hypervisor_x86 x86_hyper_xen_hvm = {
>>> +static uint32_t __init xen_platform_hvm(void)
>>> +{
>>> + uint32_t xen_domain = xen_cpuid
On 2019/7/9 22:54, Boris Ostrovsky wrote:
On 7/9/19 12:20 AM, Zhenzhong Duan wrote:
-const __initconst struct hypervisor_x86 x86_hyper_xen_hvm = {
+static uint32_t __init xen_platform_hvm(void)
+{
+ uint32_t xen_domain = xen_cpuid_base();
+ struct x86_hyper_init *h = &x86_hyper_xen_h
On 7/9/19 12:20 AM, Zhenzhong Duan wrote:
>
> -const __initconst struct hypervisor_x86 x86_hyper_xen_hvm = {
> +static uint32_t __init xen_platform_hvm(void)
> +{
> + uint32_t xen_domain = xen_cpuid_base();
> + struct x86_hyper_init *h = &x86_hyper_xen_hvm.init;
> +
> + if (xen_pv
On 2019/7/8 21:46, Boris Ostrovsky wrote:
On 7/7/19 5:15 AM, Zhenzhong Duan wrote:
+static uint32_t __init xen_platform_hvm(void)
+{
+ if (xen_pv_domain())
+ return 0;
+
+ if (xen_pvh_domain() && nopv) {
+ /* Guest booting via the Xen-PVH boot entry go
On 7/7/19 5:15 AM, Zhenzhong Duan wrote:
>
> +static uint32_t __init xen_platform_hvm(void)
> +{
> + if (xen_pv_domain())
> + return 0;
> +
> + if (xen_pvh_domain() && nopv) {
> + /* Guest booting via the Xen-PVH boot entry goes here */
> + pr_info("\"n
PVH guest needs PV extentions to work, so "nopv" parameter should be
ignored for PVH but not for HVM guest.
If PVH guest boots up via the Xen-PVH boot entry, xen_pvh is set early,
we know it's PVH guest and ignore "nopv" parameter directly.
If PVH guest boots up via the normal boot entry same as