From: Grygorii Strashko <grygorii_strashko@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: "Grygorii Strashko" <grygorii_strashko@epam.com>,
"Jan Beulich" <jbeulich@suse.com>,
"Andrew Cooper" <andrew.cooper3@citrix.com>,
"Roger Pau Monné" <roger.pau@citrix.com>,
"Stefano Stabellini" <sstabellini@kernel.org>,
"Alejandro Vallejo" <alejandro.garciavallejo@amd.com>,
"Jason Andryuk" <jason.andryuk@amd.com>
Subject: [XEN][PATCH v2 4/4] x86: pvh: allow to disable 32-bit interface support
Date: Wed, 19 Nov 2025 19:30:10 +0000 [thread overview]
Message-ID: <20251119192916.1009549-5-grygorii_strashko@epam.com> (raw)
In-Reply-To: <20251119192916.1009549-1-grygorii_strashko@epam.com>
From: Grygorii Strashko <grygorii_strashko@epam.com>
For x86 Xen safety certification only PVH Gusts are selected to be allowed
which are started by using direct Direct Kernel Boot only. There is also an
assumption that x86 Guest's (OS) early boot code (which is running not in
64-bit mode) does not access Xen interfaces (hypercalls, shared_info, ..).
In this case the Xen HVM 32-bit COMPAT interface become unused and leaves
gaps in terms of coverage.
Hence now all prerequisite changes are in place, introduce a
CONFIG_HVM_COMPAT option through which HVM(PVH) 32-bit interface support on
64-bit Xen can be disabled.
By default, CONFIG_HVM_COMPAT is ("y") enabled and accessible only in
EXPERT mode.
Signed-off-by: Grygorii Strashko <grygorii_strashko@epam.com>
---
changes in v2:
- fix format and move above HVM_FEP
xen/arch/x86/hvm/Kconfig | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/xen/arch/x86/hvm/Kconfig b/xen/arch/x86/hvm/Kconfig
index c323d767e77c..88090f5b3965 100644
--- a/xen/arch/x86/hvm/Kconfig
+++ b/xen/arch/x86/hvm/Kconfig
@@ -2,7 +2,6 @@ menuconfig HVM
bool "HVM support"
depends on !PV_SHIM_EXCLUSIVE
default !PV_SHIM
- select COMPAT
select IOREQ_SERVER
select MEM_ACCESS_ALWAYS_ON
help
@@ -35,6 +34,24 @@ config INTEL_VMX
If your system includes a processor with Intel VT-x support, say Y.
If in doubt, say Y.
+config HVM_COMPAT
+ bool "HVM 32-bit hypercalls interface support" if EXPERT
+ select COMPAT
+ default y
+ help
+ The HVM 32-bit interface must be enabled for HVM domains to be able to
+ make hypercalls in 32bit mode. Non-PVH domains unconditionally need this
+ option so that hvmloader may issue hypercalls in 32bit mode.
+
+ The HVM 32-bit interface can be disabled if:
+ - Only PVH domains are used
+ - Guests (OS) are started by using direct Direct Kernel Boot
+ - Guests (OS) are 64-bit and Guest early boot code, which is running not
+ in 64-bit mode, does not access Xen interfaces
+ (hypercalls, shared_info, ..)
+
+ If unsure, say Y.
+
config HVM_FEP
bool "HVM Forced Emulation Prefix support (UNSUPPORTED)" if UNSUPPORTED
default DEBUG
--
2.34.1
next prev parent reply other threads:[~2025-11-19 19:30 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-19 19:30 [XEN][PATCH v2 0/4] x86: pvh: allow to disable 32-bit (COMPAT) interface support Grygorii Strashko
2025-11-19 19:30 ` [XEN][PATCH v2 1/4] x86: hvm: dm: factor out compat code under ifdefs Grygorii Strashko
2025-11-19 19:30 ` [XEN][PATCH v2 2/4] x86: hvm: compat: introduce is_hcall_compat() helper Grygorii Strashko
2025-12-02 18:41 ` Jason Andryuk
2025-11-19 19:30 ` [XEN][PATCH v2 3/4] x86: hvm: factor out COMPAT code under ifdefs Grygorii Strashko
2025-12-02 19:26 ` Jason Andryuk
2025-12-04 18:39 ` Grygorii Strashko
2025-12-04 18:47 ` Grygorii Strashko
2025-12-18 16:47 ` Jürgen Groß
2025-11-19 19:30 ` Grygorii Strashko [this message]
2025-12-02 19:56 ` [XEN][PATCH v2 4/4] x86: pvh: allow to disable 32-bit interface support Jason Andryuk
2025-12-18 16:20 ` [XEN][PATCH v2 0/4] x86: pvh: allow to disable 32-bit (COMPAT) " Grygorii Strashko
2025-12-18 16:33 ` Jan Beulich
2025-12-19 0:33 ` Stefano Stabellini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251119192916.1009549-5-grygorii_strashko@epam.com \
--to=grygorii_strashko@epam.com \
--cc=alejandro.garciavallejo@amd.com \
--cc=andrew.cooper3@citrix.com \
--cc=jason.andryuk@amd.com \
--cc=jbeulich@suse.com \
--cc=roger.pau@citrix.com \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.