From: Giacomo Mazzola <gmazz@amazon.de>
To: <kvm@vger.kernel.org>
Cc: Giacomo Mazzola <gmazz@amazon.de>
Subject: [kvm-unit-tests PATCH v2 0/8] x86: fixes for running KUT as EFI on non-QEMU KVM hosts
Date: Tue, 20 Oct 2026 15:25:17 +0000 [thread overview]
Message-ID: <20261020152525.57694-1-gmazz@amazon.de> (raw)
This series fixes several issues encountered when running KUT x86 tests
as EFI applications on a KVM-based hypervisor that lacks any ad-hoc
para-virtualized interface (e.g. fw_cfg), on arbitrary VM shapes
(variable CPU count and memory size).
Patches 1-4 fix crashes and faults:
- Stack size mismatch between EFI and non-EFI paths
- Memory allocator selecting regions above the 4 GiB identity map
- #GP on systems without a PMU
- ISR thunks using rel32 jumps that overflow beyond 2 GiB
Patches 5-6 fix SMP bringup:
- Replace per-AP serial prints that cause watchdog timeouts on
large systems
- Add timeout-based AP detection when fw_cfg is unavailable
Patches 7-8 fix command line handling:
- Correct the load_options_size byte-to-character conversion
- Add KUT_ENV= parsing for passing environment variables via the
command line
Regression-tested by running the full KUT suite under QEMU+KVM+OVMF,
in both ./configure and ./configure --enable-efi. Results are
identical with and without this series.
v1 -> v2:
- 8/8: reworked per Drew's review. Moved the implementation from
lib/efi.c to lib/argv.c so the feature is available to non-EFI
builds as well, use a strncmp() prefix match instead of strstr(),
shift argv down instead of swapping with the last element so
argument order is preserved, and drop the redundant isspace()
check and COMMAND_LINE_SIZE cap. Retitled accordingly
("efi: parse KUT_ENV= from load options into environ" ->
"lib: parse KUT_ENV= from command line into environ").
This patch was already posted standalone as v2 and reviewed [2];
it is included here unchanged so the series is complete.
- 1/8 - 7/8: unchanged.
- Picked up Andrew Jones' Reviewed-by on 7/8 and 8/8.
- Rebased onto current master.
Patches 1-6 received no review in v1, so they are unchanged and still
need a look. Resending the full series to make it reviewable as a
whole.
[1] v1: https://lore.kernel.org/kvm/20260609140901.95727-1-gmazz@amazon.de/
[2] v2 8/8 standalone: https://lore.kernel.org/kvm/20260625140452.24159-1-gmazz@amazon.de/
Giacomo Mazzola (8):
x86: efi: use PER_CPU_SIZE for per-CPU stack allocation
x86: fix EFI memory allocator to clamp regions to 4 GiB
x86: skip PMU init when no PMU is advertised
x86: fix ISR thunk to use absolute indirect jump
x86: replace per-AP bringup prints with a single summary line
x86: add timeout-based SMP bringup when fw_cfg is unavailable
efi: fix load_options_size conversion to character count
lib: parse KUT_ENV= from command line into environ
lib/argv.c | 35 +++++++++++++++++++++++++++++++++++
lib/efi.c | 2 +-
lib/x86/apic.c | 1 -
lib/x86/isr.c | 8 +++++---
lib/x86/setup.c | 24 ++++++++++++++++++++----
lib/x86/smp.c | 31 +++++++++++++++++++++++++++----
x86/efi/efistart64.S | 2 +-
7 files changed, 89 insertions(+), 14 deletions(-)
base-commit: 5a221342a025948fa7d84f0c404748f6ba57f3ad
--
2.47.3
next reply other threads:[~2026-10-20 15:25 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-20 15:25 Giacomo Mazzola [this message]
2026-10-20 15:25 ` [kvm-unit-tests PATCH v2 1/8] x86: efi: use PER_CPU_SIZE for per-CPU stack allocation Giacomo Mazzola
2026-10-20 15:25 ` [kvm-unit-tests PATCH v2 2/8] x86: fix EFI memory allocator to clamp regions to 4 GiB Giacomo Mazzola
2026-10-20 15:25 ` [kvm-unit-tests PATCH v2 3/8] x86: skip PMU init when no PMU is advertised Giacomo Mazzola
2026-10-20 15:25 ` [kvm-unit-tests PATCH v2 4/8] x86: fix ISR thunk to use absolute indirect jump Giacomo Mazzola
2026-10-20 15:25 ` [kvm-unit-tests PATCH v2 5/8] x86: replace per-AP bringup prints with a single summary line Giacomo Mazzola
2026-10-20 15:25 ` [kvm-unit-tests PATCH v2 6/8] x86: add timeout-based SMP bringup when fw_cfg is unavailable Giacomo Mazzola
2026-10-20 15:25 ` [kvm-unit-tests PATCH v2 7/8] efi: fix load_options_size conversion to character count Giacomo Mazzola
2026-10-20 15:25 ` [kvm-unit-tests PATCH v2 8/8] lib: parse KUT_ENV= from command line into environ Giacomo Mazzola
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=20261020152525.57694-1-gmazz@amazon.de \
--to=gmazz@amazon.de \
--cc=kvm@vger.kernel.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.