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

RE: [PATCH v4 03/20] xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: "Penny, Zheng" <penny.zheng@xxxxxxx>
  • Date: Thu, 12 Jun 2025 08:52:33 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=F/4jvNZPuWm3c3d4IO3W2lqiZnh5sZ6CklXP0yytoWI=; b=KllRd+gssFMgizH3OuUdUHESs7cr9Rx0AqczFVdz8kWLZ80tzTZUeT61qYIuHlRtSGe5WXVcW5JspMrp5T4DzgvgP9CuyA62IYs9HrRgSO+CoRba5ptRDikWJPNJNFBWsqyuhAuHcNcb12UzHsQl8lyCfn7LlThpapcPyRhW4iDj7DYzCviSDsdP5w50B5XE78gngBcpKd8miI6elRyLqE9iZHVJ0F1CIOmotHxv+ypLutg7LygGdSwlwJixTA8rTb5AZDFyc0s4hq9tbD3pkk0udVbPPMw5/zQq0WipTZMrJWN+QRY1UShHTLp3xCEfriNFy4CorNHhHzxnpbDPdg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=A5Y1P4utXOv0SQyZMcdJcrEXgMIOc+ALbb7QaSSu40P2xV0xTAMFr8JpFX/6nv/DoT/3qaofz5N4veZC0RdVgsq129E3gGlfRLDttAhQEBHCX4kQ4zMZ3rGmVOYuZRBYGu5bxTIndlI7T42x+lsAAqs4ht6j/RzLZ3KrFz2eJMfqh7DSP4nLk6ePkOFPjYm17Nz4jdQ47uSYEAP16whyQlvrlTjHZcqhPaOfPeIQq3r4DL4vlNPCYenotTZaEwloj4ZLoLRieQzC7B9MFQzxkczLyqlDarFjMK6Ju0xStC+QIVbY79/RfIBP/09vFTEglAitEQBo8RpOeOVuh4asRQ==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com;
  • Cc: "Huang, Ray" <Ray.Huang@xxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, "Orzel, Michal" <Michal.Orzel@xxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Thu, 12 Jun 2025 08:52:47 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Msip_labels: MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Enabled=True;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_SetDate=2025-06-12T08:51:54.0000000Z;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Name=Open Source;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_ContentBits=3;MSIP_Label_f265efc6-e181-49d6-80f4-fae95cf838a0_Method=Privileged
  • Thread-index: AQHbz7Fj+78Jf3bO30Wr1Bk6dRI84bP8b/QAgAJ/5nCAAEBpgIAAEbfA
  • Thread-topic: [PATCH v4 03/20] xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"

[Public]

> -----Original Message-----
> From: Jan Beulich <jbeulich@xxxxxxxx>
> Sent: Thursday, June 12, 2025 3:02 PM
> To: Penny, Zheng <penny.zheng@xxxxxxx>
> Cc: Huang, Ray <Ray.Huang@xxxxxxx>; Andrew Cooper
> <andrew.cooper3@xxxxxxxxxx>; Roger Pau Monné <roger.pau@xxxxxxxxxx>;
> Anthony PERARD <anthony.perard@xxxxxxxxxx>; Orzel, Michal
> <Michal.Orzel@xxxxxxx>; Julien Grall <julien@xxxxxxx>; Stefano Stabellini
> <sstabellini@xxxxxxxxxx>; xen-devel@xxxxxxxxxxxxxxxxxxxx
> Subject: Re: [PATCH v4 03/20] xen/x86: remove "depends
> on !PV_SHIM_EXCLUSIVE"
>
> On 12.06.2025 06:09, Penny, Zheng wrote:
> >> -----Original Message-----
> >> From: Jan Beulich <jbeulich@xxxxxxxx>
> >> Sent: Tuesday, June 10, 2025 9:01 PM
> >>
> >> On 28.05.2025 11:16, Penny Zheng wrote:
> >>> Remove all "depends on !PV_SHIM_EXCLUSIVE" (also the functionally
> >>> equivalent "if !...") in Kconfig file, since negative dependancy
> >>> will badly affect allyesconfig. To make sure unchanging produced
> >>> config file based on "pvshim_defconfig", we shall explicitly state
> >>> according Kconfig is not set
> >>>
> >>> Add "default y" for SHADOW_PAGING and TBOOT, otherwise we will have
> >>> unset values when running make defconfig based on "x86_64_defconfig".
> >>
> >> I fear I don't understand this, perhaps related to me also not seeing how 
> >> ...
> >
> > If we just removed "default !PV_SHIM_EXCLUSIVE", .config file generated by
> "make defconfig"
> > will change, having unsetting values for SHADOW_PAGING (#
> > CONFIG_SHADOW_PAGING is not set) If changing it to "default y" is too
> > casual, maybe we shall add "CONFIG_ SHADOW_PAGING=y" in
> x86_64_defconfig, to at least retain consistent .config file.
> > My fault, Only considering "SHADOW_PAGING" is enough, as TBOOT depends
> > on UNSUPPORTED firstly
> >
> >>> --- a/xen/arch/x86/Kconfig
> >>> +++ b/xen/arch/x86/Kconfig
> >>> @@ -143,7 +143,7 @@ config XEN_IBT
> >>>
> >>>  config SHADOW_PAGING
> >>>     bool "Shadow Paging"
> >>> -   default !PV_SHIM_EXCLUSIVE
> >>> +   default y
> >>>     depends on PV || HVM
> >>>     help
> >>>
> >>> @@ -175,7 +175,7 @@ config BIGMEM
> >>>  config TBOOT
> >>>     bool "Xen tboot support (UNSUPPORTED)"
> >>>     depends on INTEL && UNSUPPORTED
> >>> -   default !PV_SHIM_EXCLUSIVE
> >>> +   default y
> >>>     select CRYPTO
> >>>     help
> >>>       Allows support for Trusted Boot using the Intel(R) Trusted
> >>> Execution
> >>
> >> ... these two fit with title and description. The justification for
> >> removing the !PV_SHIM_EXCLUSIVE here is not "breaks allyesconfig".
> >
> > Hmmm, it is the consequence of "removing the !PV_SHIM_EXCLUSIVE"
> > Maybe I shall add more explanation in commit message?
>
> Just to clarify - my questions here were about the changes altogether, i.e.:
> Why are these two change - as a whole - needed, given the subject? And just 
> to try
> to avoid any misunderstanding: My point is that "depends on ..." and "default 
> ..." are
> different things, when the commit message discusses only the former. So yes,
> extending the commit message may be one way to address my remarks. But really
> I think changes to defaults (if needed at all) would better be separate from 
> changes
> to "depends on ...".
>

The reason why I added an extra default y for CONFIG_SHADOW_PAGING is that
the .config file generated from x86_64_defconfig has changed after removing the 
"default !PV_SHIM_EXCLUSIVE", from "CONFIG_SHADOW_PAGING=y" to " 
CONFIG_SHADOW_PAGING is not set ". To fix it, I casually added a "default y" 
here.
I understand that like you said, it doesn't fit with the title and 
description... I'll create a new commit for it. And instead of adding "default 
y", maybe just adding " CONFIG_SHADOW_PAGING=y" in x86_64_defconfig is enough.

> >>> --- a/xen/arch/x86/configs/pvshim_defconfig
> >>> +++ b/xen/arch/x86/configs/pvshim_defconfig
> >>> @@ -26,3 +26,8 @@ CONFIG_EXPERT=y
> >>>  # CONFIG_INTEL_IOMMU is not set
> >>>  # CONFIG_DEBUG is not set
> >>>  # CONFIG_GDBSX is not set
> >>> +# CONFIG_SHADOW_PAGING is not set
> >>> +# CONFIG_TBOOT is not set
> >>> +# HYPERV_HYPERV_GUEST is not set
> >>
> >> This one doesn't look right, simply by its name.
> >>
> >>> +# CONFIG_HVM is not set
> >>> +# CONFIG_VGA is not set
> >>
> >> Just to mention it - I'm unsure whether adding such at the end isn't
> >> going to cause issues. But maybe I'm paranoid ...
> >>
> >
> > It could be too casual..
> > I will only leave VGA here, as we're sure that with removing
> > "!PV_SHIM_EXCLUSIVE", CONFIG_VGA is setting as y in pvshim_defconfig
>
> I don't follow: Why would a shim need VGA support compiled in?
>

Yes, VGA shall not be compiled for a shim. And it is the reason why I added "# 
CONFIG_VGA is not set" in pvshim_defconfig. Without it, the consequence of 
removing " if !PV_SHIM_EXCLUSIVE " for VGA is that when we run "make defconfig 
pvshim_defconfig", we will get CONFIG_VGA=y in .config
Like you said, this change belongs to the group of changing kconfig default 
values, and will later be included in a new commit

> >>> --- a/xen/drivers/video/Kconfig
> >>> +++ b/xen/drivers/video/Kconfig
> >>> @@ -3,10 +3,10 @@ config VIDEO
> >>>     bool
> >>>
> >>>  config VGA
> >>> -   bool "VGA support" if !PV_SHIM_EXCLUSIVE
> >>> +   bool "VGA support"
> >>>     select VIDEO
> >>>     depends on X86
> >>> -   default y if !PV_SHIM_EXCLUSIVE
> >>> +   default y
> >>>     help
> >>>       Enable VGA output for the Xen hypervisor.
> >>
> >> Like above, this change also doesn't really fit with title and description.
> >
> > I have added " (also the functionally equivalent "if !...") " in
> > commit message to also cover above change
>
> Well. There are multiple uses of "if ...". The one matching "depends on ..." 
> is covered
> in the description, yes. But the two uses here don't fall in this same group. 
> One is a
> prompt visibility change, and the other is a change to yet another default. 
> See above
> for my recommendation (to split things properly).
>

Correct me if I understand wrongly:
"if ..." for HYPERV_GUEST is falling the group where prompt visibility changes, 
and fits with the title and description
"if ...." for VGA is a change regarding kconfig default value, and shall be 
covered in a new commit.
Yet my changes on  pvshim_defconfig and x86_64_defconfig shall also be included 
in the new commit. As they are all
talking about changing kconfig default value.

> Jan

 


Rackspace

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