From fa8687810af66ec37940ecc93e2ef4e9a47889a2 Mon Sep 17 00:00:00 2001 From: Roger Pau Monne Date: Fri, 8 May 2026 10:55:09 +0200 Subject: [PATCH] x86/dom0: enable pf-fixup by default for PVH dom0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A non-trivial amount of issues related to PVH dom0 are fixed by enabling the `pf-fixup` command line option, and no issues have been reported as a result of its usage. Enable the option by default to make PVH dom0 more robust in its default configuration. Signed-off-by: Roger Pau Monné Reviewed-by: Jan Beulich Acked-by: Oleksii Kurochko Release-Acked-by: Oleksii Kurochko --- CHANGELOG.md | 2 ++ docs/misc/xen-command-line.pandoc | 8 ++++++-- xen/arch/x86/hvm/emulate.c | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ce46020dbd..25f5a192ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ## [4.22.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD ### Changed + - On x86: + - Enable pf-fixup option by default for PVH dom0. ### Added - Support for per-domain Xenstore quota in C xenstored (includes diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc index 6c77129732..2da90548d8 100644 --- a/docs/misc/xen-command-line.pandoc +++ b/docs/misc/xen-command-line.pandoc @@ -849,7 +849,7 @@ Controls for how dom0 is constructed on x86 systems. If using this option is necessary to fix an issue, please report a bug. * The `pf-fixup` boolean is only applicable when using a PVH dom0 and - defaults to false. + defaults to true. When running dom0 in PVH mode the dom0 kernel has no way to map MMIO regions into its physical memory map, such mode relies on Xen dom0 builder @@ -857,10 +857,14 @@ Controls for how dom0 is constructed on x86 systems. access. However Xen doesn't have a complete picture of the host memory map, due to not being able to process ACPI dynamic tables. - The `pf-fixup` option allows Xen to attempt to add missing MMIO regions + The `pf-fixup` option causes Xen to attempt to add missing MMIO regions to the dom0 physical memory map in response to page-faults generated by dom0 trying to access unpopulated entries in the memory map. + Users having to disable the feature to boot in PVH dom0 mode should report + it to the xen-devel mailing list, together with Xen and dom0 output with the + option enabled. + Enables features on dom0 on Arm systems. * The `sve` integer parameter enables Arm SVE usage for Dom0 and sets the diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c index f3aae158e9..bb1bb03ac4 100644 --- a/xen/arch/x86/hvm/emulate.c +++ b/xen/arch/x86/hvm/emulate.c @@ -165,7 +165,7 @@ void hvmemul_cancel(struct vcpu *v) hvmemul_cache_disable(v); } -bool __ro_after_init opt_dom0_pf_fixup; +bool __ro_after_init opt_dom0_pf_fixup = true; static int hwdom_fixup_p2m(paddr_t addr) { unsigned long gfn = paddr_to_pfn(addr);