[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] x86/Xen: tidy xen-head.S


  • To: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Wed, 15 Feb 2023 14:36:10 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=d+KlP5qA89mRT2c22KFwY0e6UaOKuHAXpVAQZI0PIhA=; b=hizrpCi/GC+8cA1sRtwwqa7G/BJK3j/1jAanNQinX5G3QwMUwZbAExHu9y+APg+28LNrQ/yqCOYTMSar/ucA9LN1KGXg0QZ4JB4kFpfJTlZIRtxseRUbgXnlXORD0SANf92A1WGPo5Uv5Bfnw4BhAEvHXmltT2b496oHh3D4TxxPiLUZifad8OJeUeK+n8v5RVFomvG0q1/Rz3VlZHi5ZSXQ17jxQR+N3W3CN1XvDbIdu4ctEVYI9ZAtWjJu27x6ZPO+PqXL3YbOU/GimWxKebAUChmD4NqO2YDg1jq9twxNeGBbX0TnPE+AySMftIi3dO3hp164GWjspp5URqDO1Q==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bs8g873QF2R1b9J1euu4c9hQFMEvwpKXhYw2YlQliZc9yihJbdFgERkoeNc4bnPVycekNgBUPg/GnRsgF+nqmGeY88SSWasB8wfcs6ORuIkqAmHT87/CNgV77oxvIvChwp+RSFylkOaFz26XqkmfBRbfxY3VOT0wO6l7d/nGuGzBX32OUFbFNER9ZWi7vClXt612qBLohUoYH1zf33ZxvM9Owa1H8mWg5XlxiAFT6JicVNDPiaFnUFUyPJfkn0/Iq/LfPk645tEw4o119XEWYcyHmV4nppe6SMCw2buK2+ylX+ye7crOIdQmmcpl/7K9OJH/gPC1CEWn2UL7MndDdg==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>, the arch/x86 maintainers <x86@xxxxxxxxxx>, Thomas Gleixner <tglx@xxxxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>, Borislav Petkov <bp@xxxxxxxxx>, Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>
  • Delivery-date: Wed, 15 Feb 2023 13:36:39 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 15.02.2023 14:25, Andrew Cooper wrote:
> On 15/02/2023 1:12 pm, Juergen Gross wrote:
>> On 15.02.23 13:42, Jan Beulich wrote:
>>> On 15.02.2023 13:05, Juergen Gross wrote:
>>>> On 15.02.23 12:33, Jan Beulich wrote:
>>>>> -#endif
>>>>>    #ifdef CONFIG_XEN_PV
>>>>>        ELFNOTE(Xen, XEN_ELFNOTE_ENTRY,          _ASM_PTR startup_xen)
>>>>> +    ELFNOTE(Xen, XEN_ELFNOTE_FEATURES,       .ascii
>>>>> "!writable_page_tables")
>>>>> +    ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE,       .asciz "yes")
>>>>> +    ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID,
>>>>> +        .quad _PAGE_PRESENT; .quad _PAGE_PRESENT)
>>>>> +# define FEATURES_PV (1 << XENFEAT_writable_page_tables)
>>>>> +#else
>>>>> +# define FEATURES_PV 0
>>>>> +#endif
>>>>> +#ifdef CONFIG_XEN_PVH
>>>>> +# define FEATURES_PVH (1 << XENFEAT_linux_rsdp_unrestricted)
>>>>> +#else
>>>>> +# define FEATURES_PVH 0
>>>>> +#endif
>>>>> +#ifdef CONFIG_XEN_DOM0
>>>>> +# define FEATURES_DOM0 (1 << XENFEAT_dom0)
>>>>> +#else
>>>>> +# define FEATURES_DOM0 0
>>>>>    #endif
>>>>>        ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, _ASM_PTR
>>>>> hypercall_page)
>>>>> -    ELFNOTE(Xen, XEN_ELFNOTE_FEATURES,
>>>>> -        .ascii "!writable_page_tables|pae_pgdir_above_4gb")
>>>>>        ELFNOTE(Xen, XEN_ELFNOTE_SUPPORTED_FEATURES,
>>>>> -        .long (1 << XENFEAT_writable_page_tables) |       \
>>>>> -              (1 << XENFEAT_dom0) |                       \
>>>>> -              (1 << XENFEAT_linux_rsdp_unrestricted))
>>>>> -    ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE,       .asciz "yes")
>>>>> +        .long FEATURES_PV | FEATURES_PVH | FEATURES_DOM0)
>>>>>        ELFNOTE(Xen, XEN_ELFNOTE_LOADER,         .asciz "generic")
>>>>> -    ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID,
>>>>> -        .quad _PAGE_PRESENT; .quad _PAGE_PRESENT)
>>>>>        ELFNOTE(Xen, XEN_ELFNOTE_SUSPEND_CANCEL, .long 1)
>>>>>        ELFNOTE(Xen, XEN_ELFNOTE_MOD_START_PFN,  .long 1)
>>>>>        ELFNOTE(Xen, XEN_ELFNOTE_HV_START_LOW,   _ASM_PTR
>>>>> __HYPERVISOR_VIRT_START)
>>>>
>>>> Are XEN_ELFNOTE_MOD_START_PFN and XEN_ELFNOTE_HV_START_LOW really
>>>> relevant
>>>> for the non-PV case? I don't think so (in theory
>>>> XEN_ELFNOTE_MOD_START_PFN
>>>> could be used, but the main reason for its introduction was PV
>>>> guests IIRC).
>>>
>>> I wasn't sufficiently certain for MOD_START_PFN, so I'd prefer to
>>> leave it
>>> untouched for now. HV_START_LOW might be 32-bit PV only really; I'll
>>> check
>>> and then maybe drop (or move).
>>
>> Fine with me.
> 
> HV_START_LOW is PV32 only.  It's the negotiation for the virtual address
> split with Xen, and was never implemented properly for PV64.

Not the least because there it would be the upper bound that could
be moved down, not the lower one that's movable upwards for PV32.
I suppose we'll get there once we have 5-level paging support and
can shrink the hole needed for 4-level PV guests.

> MOD_START_PFN is PV only.  It's not applicable for HVM/PVH.

It isn't right now, yes. I continue to be uncertain and would
prefer to leave it as is.

Jan



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.