diff mbox series

[v2,01/19] xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"

Message ID 20250326055053.3313146-2-Penny.Zheng@amd.com (mailing list archive)
State New
Headers show
Series xen: introduce CONFIG_SYSCTL | expand

Commit Message

Penny, Zheng March 26, 2025, 5:50 a.m. UTC
We intend to remove all "depends on !PV_SHIM_EXCLUSIVE" (also the functionally
equivalent "if !...") in Kconfig file, since negative dependancy will badly
affect allyesconfig.
This commit is based on "x86: provide an inverted Kconfig control for
shim-exclusive mode"[1]

[1] https://lists.xen.org/archives/html/xen-devel/2023-03/msg00040.html

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
---
 xen/arch/x86/Kconfig      | 6 ++----
 xen/arch/x86/hvm/Kconfig  | 1 -
 xen/drivers/video/Kconfig | 4 ++--
 3 files changed, 4 insertions(+), 7 deletions(-)

Comments

Stefano Stabellini March 28, 2025, 11:56 p.m. UTC | #1
On Wed, 26 Mar 2025, Penny Zheng wrote:
> We intend to remove all "depends on !PV_SHIM_EXCLUSIVE" (also the functionally
> equivalent "if !...") in Kconfig file, since negative dependancy will badly
> affect allyesconfig.
> This commit is based on "x86: provide an inverted Kconfig control for
> shim-exclusive mode"[1]
> 
> [1] https://lists.xen.org/archives/html/xen-devel/2023-03/msg00040.html
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> ---
>  xen/arch/x86/Kconfig      | 6 ++----
>  xen/arch/x86/hvm/Kconfig  | 1 -
>  xen/drivers/video/Kconfig | 4 ++--
>  3 files changed, 4 insertions(+), 7 deletions(-)
> 
> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
> index 18efdb2e31..1e5df84b25 100644
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -137,7 +137,6 @@ config XEN_IBT
>  
>  config SHADOW_PAGING
>  	bool "Shadow Paging"
> -	default !PV_SHIM_EXCLUSIVE
>  	depends on PV || HVM
>  	help
>  
> @@ -169,7 +168,6 @@ config BIGMEM
>  config TBOOT
>  	bool "Xen tboot support (UNSUPPORTED)"
>  	depends on INTEL && UNSUPPORTED
> -	default !PV_SHIM_EXCLUSIVE
>  	select CRYPTO
>  	help
>  	  Allows support for Trusted Boot using the Intel(R) Trusted Execution
> @@ -279,10 +277,11 @@ config PV_SHIM_EXCLUSIVE
>  	  Build Xen in a way which unconditionally assumes PV_SHIM mode.  This
>  	  option is only intended for use when building a dedicated PV Shim
>  	  firmware, and will not function correctly in other scenarios.
> +	  Features, like tboot, shadow page, VGA, HVM, Hyper-V Guest, etc,
> +	  are unavailable in shim-exclusive mode.

I don't know if we want to add these two lines or not. Either way:

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


>  	  If unsure, say N.
>  
> -if !PV_SHIM_EXCLUSIVE
>  
>  config HYPERV_GUEST
>  	bool "Hyper-V Guest"
> @@ -292,7 +291,6 @@ config HYPERV_GUEST
>  
>  	  If unsure, say N.
>  
> -endif
>  
>  config REQUIRE_NX
>  	bool "Require NX (No eXecute) support"
> diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
> index 2def0f98e2..b903764bda 100644
> --- a/xen/arch/x86/hvm/Kconfig
> +++ b/xen/arch/x86/hvm/Kconfig
> @@ -1,6 +1,5 @@
>  menuconfig HVM
>  	bool "HVM support"
> -	depends on !PV_SHIM_EXCLUSIVE
>  	default !PV_SHIM
>  	select COMPAT
>  	select IOREQ_SERVER
> diff --git a/xen/drivers/video/Kconfig b/xen/drivers/video/Kconfig
> index 245030beea..66ee1e7c9c 100644
> --- 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.
>  
> -- 
> 2.34.1
>
Jan Beulich March 31, 2025, 6:29 a.m. UTC | #2
On 29.03.2025 00:56, Stefano Stabellini wrote:
> On Wed, 26 Mar 2025, Penny Zheng wrote:
>> We intend to remove all "depends on !PV_SHIM_EXCLUSIVE" (also the functionally
>> equivalent "if !...") in Kconfig file, since negative dependancy will badly
>> affect allyesconfig.
>> This commit is based on "x86: provide an inverted Kconfig control for
>> shim-exclusive mode"[1]
>>
>> [1] https://lists.xen.org/archives/html/xen-devel/2023-03/msg00040.html
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Where's this coming from, if I may ask?

>> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
>> ---
>>  xen/arch/x86/Kconfig      | 6 ++----
>>  xen/arch/x86/hvm/Kconfig  | 1 -
>>  xen/drivers/video/Kconfig | 4 ++--
>>  3 files changed, 4 insertions(+), 7 deletions(-)
>>
>> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
>> index 18efdb2e31..1e5df84b25 100644
>> --- a/xen/arch/x86/Kconfig
>> +++ b/xen/arch/x86/Kconfig
>> @@ -137,7 +137,6 @@ config XEN_IBT
>>  
>>  config SHADOW_PAGING
>>  	bool "Shadow Paging"
>> -	default !PV_SHIM_EXCLUSIVE
>>  	depends on PV || HVM
>>  	help
>>  
>> @@ -169,7 +168,6 @@ config BIGMEM
>>  config TBOOT
>>  	bool "Xen tboot support (UNSUPPORTED)"
>>  	depends on INTEL && UNSUPPORTED
>> -	default !PV_SHIM_EXCLUSIVE
>>  	select CRYPTO
>>  	help
>>  	  Allows support for Trusted Boot using the Intel(R) Trusted Execution
>> @@ -279,10 +277,11 @@ config PV_SHIM_EXCLUSIVE
>>  	  Build Xen in a way which unconditionally assumes PV_SHIM mode.  This
>>  	  option is only intended for use when building a dedicated PV Shim
>>  	  firmware, and will not function correctly in other scenarios.
>> +	  Features, like tboot, shadow page, VGA, HVM, Hyper-V Guest, etc,
>> +	  are unavailable in shim-exclusive mode.
> 
> I don't know if we want to add these two lines or not. Either way:
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

I don't think we should add that. It's also wrong for shadow in the first
place (where it was a default only anyway, not a dependency).

Jan
Penny, Zheng April 1, 2025, 8:41 a.m. UTC | #3
[Public]

Hi,

> -----Original Message-----
> From: Jan Beulich <jbeulich@suse.com>
> Sent: Monday, March 31, 2025 2:30 PM
> To: Stefano Stabellini <sstabellini@kernel.org>; Penny, Zheng
> <penny.zheng@amd.com>
> Cc: xen-devel@lists.xenproject.org; Huang, Ray <Ray.Huang@amd.com>;
> Andrew Cooper <andrew.cooper3@citrix.com>; Roger Pau Monné
> <roger.pau@citrix.com>; Anthony PERARD <anthony.perard@vates.tech>; Orzel,
> Michal <Michal.Orzel@amd.com>; Julien Grall <julien@xen.org>
> Subject: Re: [PATCH v2 01/19] xen/x86: remove "depends
> on !PV_SHIM_EXCLUSIVE"
>
> On 29.03.2025 00:56, Stefano Stabellini wrote:
> > On Wed, 26 Mar 2025, Penny Zheng wrote:
> >> We intend to remove all "depends on !PV_SHIM_EXCLUSIVE" (also the
> >> functionally equivalent "if !...") in Kconfig file, since negative
> >> dependancy will badly affect allyesconfig.
> >> This commit is based on "x86: provide an inverted Kconfig control for
> >> shim-exclusive mode"[1]
> >>
> >> [1]
> >> https://lists.xen.org/archives/html/xen-devel/2023-03/msg00040.html
> >>
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> Where's this coming from, if I may ask?
>

I said in the commit message, this commit is based on your commit "x86: provide an inverted Kconfig control for
shim-exclusive mode"[1].
So I think I shall add-in the original author, if it is not the rule, I'll remove it.

> >> Signed-off-by: Penny Zheng <Penny.Zheng@amd.com>
> >> ---
> >>  xen/arch/x86/Kconfig      | 6 ++----
> >>  xen/arch/x86/hvm/Kconfig  | 1 -
> >>  xen/drivers/video/Kconfig | 4 ++--
> >>  3 files changed, 4 insertions(+), 7 deletions(-)
> >>
> >> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig index
> >> 18efdb2e31..1e5df84b25 100644
> >> --- a/xen/arch/x86/Kconfig
> >> +++ b/xen/arch/x86/Kconfig
> >> @@ -137,7 +137,6 @@ config XEN_IBT
> >>
> >>  config SHADOW_PAGING
> >>    bool "Shadow Paging"
> >> -  default !PV_SHIM_EXCLUSIVE
> >>    depends on PV || HVM
> >>    help
> >>
> >> @@ -169,7 +168,6 @@ config BIGMEM
> >>  config TBOOT
> >>    bool "Xen tboot support (UNSUPPORTED)"
> >>    depends on INTEL && UNSUPPORTED
> >> -  default !PV_SHIM_EXCLUSIVE
> >>    select CRYPTO
> >>    help
> >>      Allows support for Trusted Boot using the Intel(R) Trusted
> >> Execution @@ -279,10 +277,11 @@ config PV_SHIM_EXCLUSIVE
> >>      Build Xen in a way which unconditionally assumes PV_SHIM mode.  This
> >>      option is only intended for use when building a dedicated PV Shim
> >>      firmware, and will not function correctly in other scenarios.
> >> +    Features, like tboot, shadow page, VGA, HVM, Hyper-V Guest, etc,
> >> +    are unavailable in shim-exclusive mode.
> >
> > I don't know if we want to add these two lines or not. Either way:
> >
> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
>
> I don't think we should add that. It's also wrong for shadow in the first place (where
> it was a default only anyway, not a dependency).

Ack, I'll remove

>
> Jan
Jan Beulich April 1, 2025, 9:01 a.m. UTC | #4
On 01.04.2025 10:41, Penny, Zheng wrote:
>> -----Original Message-----
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: Monday, March 31, 2025 2:30 PM
>>
>> On 29.03.2025 00:56, Stefano Stabellini wrote:
>>> On Wed, 26 Mar 2025, Penny Zheng wrote:
>>>> We intend to remove all "depends on !PV_SHIM_EXCLUSIVE" (also the
>>>> functionally equivalent "if !...") in Kconfig file, since negative
>>>> dependancy will badly affect allyesconfig.
>>>> This commit is based on "x86: provide an inverted Kconfig control for
>>>> shim-exclusive mode"[1]
>>>>
>>>> [1]
>>>> https://lists.xen.org/archives/html/xen-devel/2023-03/msg00040.html
>>>>
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> Where's this coming from, if I may ask?
> 
> I said in the commit message, this commit is based on your commit "x86: provide an inverted Kconfig control for
> shim-exclusive mode"[1].

I don't think this belongs there. Also recall what I said elsewhere about
"This commit ..." and alike not being appropriate wording for commit messages.

> So I think I shall add-in the original author, if it is not the rule, I'll remove it.

Please remove it. You necessarily touch a few of the same places, but that's
about it. I accept this route being taken, but I don't agree with it. I don't
want to be viewed as a co-author in such a case.

However, you having gone from that patch (which had an entirely different
intention), has lead to the patch here being incomplete. At least my
understanding of Andrew's original request was to not only prune Kconfig-s of
the dependency, but also e.g. various Makefile-s. Possibly even .c and .h
ones. That clearly wasn't necessary with the approach I had taken. Please
consult with Andrew to confirm.

Jan
Penny, Zheng April 1, 2025, 9:57 a.m. UTC | #5
[Public]

> -----Original Message-----
> From: Jan Beulich <jbeulich@suse.com>
> Sent: Tuesday, April 1, 2025 5:02 PM
> To: Penny, Zheng <penny.zheng@amd.com>
> Cc: xen-devel@lists.xenproject.org; Huang, Ray <Ray.Huang@amd.com>;
> Andrew Cooper <andrew.cooper3@citrix.com>; Roger Pau Monné
> <roger.pau@citrix.com>; Anthony PERARD <anthony.perard@vates.tech>; Orzel,
> Michal <Michal.Orzel@amd.com>; Julien Grall <julien@xen.org>; Stefano
> Stabellini <sstabellini@kernel.org>
> Subject: Re: [PATCH v2 01/19] xen/x86: remove "depends
> on !PV_SHIM_EXCLUSIVE"
>
> On 01.04.2025 10:41, Penny, Zheng wrote:
> >> -----Original Message-----
> >> From: Jan Beulich <jbeulich@suse.com>
> >> Sent: Monday, March 31, 2025 2:30 PM
> >>
> >> On 29.03.2025 00:56, Stefano Stabellini wrote:
> >>> On Wed, 26 Mar 2025, Penny Zheng wrote:
> >>>> We intend to remove all "depends on !PV_SHIM_EXCLUSIVE" (also the
> >>>> functionally equivalent "if !...") in Kconfig file, since negative
> >>>> dependancy will badly affect allyesconfig.
> >>>> This commit is based on "x86: provide an inverted Kconfig control
> >>>> for shim-exclusive mode"[1]
> >>>>
> >>>> [1]
> >>>> https://lists.xen.org/archives/html/xen-devel/2023-03/msg00040.html
> >>>>
> >>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >>
> >> Where's this coming from, if I may ask?
> >
> > I said in the commit message, this commit is based on your commit
> > "x86: provide an inverted Kconfig control for shim-exclusive mode"[1].
>
> I don't think this belongs there. Also recall what I said elsewhere about "This
> commit ..." and alike not being appropriate wording for commit messages.
>

Understood, I'll remove "This commit is based on xxx".

> > So I think I shall add-in the original author, if it is not the rule, I'll remove it.
>
> Please remove it. You necessarily touch a few of the same places, but that's about
> it. I accept this route being taken, but I don't agree with it. I don't want to be viewed
> as a co-author in such a case.
>

Understood, I'll remove.

> However, you having gone from that patch (which had an entirely different
> intention), has lead to the patch here being incomplete. At least my understanding
> of Andrew's original request was to not only prune Kconfig-s of the dependency,
> but also e.g. various Makefile-s. Possibly even .c and .h ones. That clearly wasn't
> necessary with the approach I had taken. Please consult with Andrew to confirm.
>
> Jan
diff mbox series

Patch

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 18efdb2e31..1e5df84b25 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -137,7 +137,6 @@  config XEN_IBT
 
 config SHADOW_PAGING
 	bool "Shadow Paging"
-	default !PV_SHIM_EXCLUSIVE
 	depends on PV || HVM
 	help
 
@@ -169,7 +168,6 @@  config BIGMEM
 config TBOOT
 	bool "Xen tboot support (UNSUPPORTED)"
 	depends on INTEL && UNSUPPORTED
-	default !PV_SHIM_EXCLUSIVE
 	select CRYPTO
 	help
 	  Allows support for Trusted Boot using the Intel(R) Trusted Execution
@@ -279,10 +277,11 @@  config PV_SHIM_EXCLUSIVE
 	  Build Xen in a way which unconditionally assumes PV_SHIM mode.  This
 	  option is only intended for use when building a dedicated PV Shim
 	  firmware, and will not function correctly in other scenarios.
+	  Features, like tboot, shadow page, VGA, HVM, Hyper-V Guest, etc,
+	  are unavailable in shim-exclusive mode.
 
 	  If unsure, say N.
 
-if !PV_SHIM_EXCLUSIVE
 
 config HYPERV_GUEST
 	bool "Hyper-V Guest"
@@ -292,7 +291,6 @@  config HYPERV_GUEST
 
 	  If unsure, say N.
 
-endif
 
 config REQUIRE_NX
 	bool "Require NX (No eXecute) support"
diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
index 2def0f98e2..b903764bda 100644
--- a/xen/arch/x86/hvm/Kconfig
+++ b/xen/arch/x86/hvm/Kconfig
@@ -1,6 +1,5 @@ 
 menuconfig HVM
 	bool "HVM support"
-	depends on !PV_SHIM_EXCLUSIVE
 	default !PV_SHIM
 	select COMPAT
 	select IOREQ_SERVER
diff --git a/xen/drivers/video/Kconfig b/xen/drivers/video/Kconfig
index 245030beea..66ee1e7c9c 100644
--- 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.