[kvm-unit-tests PATCH v1 0/7] x86_64 UEFI set up process refactor and scripts fixes

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

 



Hello,

This patch series refactors the x86_64 UEFI set up process and fixes the
`run-tests.sh` script to run under UEFI. The patches are organized as
three parts.

The first part (patches 1-2) refactors the x86_64 UEFI set up process.
The previous UEFI setup calls arch-specific setup functions twice and
generates arch-specific data structure. As Andrew suggested [1], we
refactor this process to make only one call to the arch-specific
function and generate arch-neutral data structures. This simplifies the
set up process and makes it easier to develop UEFI support for other
architectures.

The second part (patch 3) converts several x86 test cases to
Position-Independent Code (PIC) to run under UEFI. This patch is ported
from the initial UEFI support patchset [2] with fixes to the 32-bit
compilation.

The third part (patches 4-7) fixes the UEFI runner scripts. Patch 4 sets
UEFI OVMF image as readonly. Patch 5 fixes test cases' return code under
UEFI, enabling Patch 6-7 to fix the `run-tests.sh` script under UEFI.

This patch set is based on the `uefi` branch.

Best regards,
Zixuan Wang and Marc Orr

[1] https://lore.kernel.org/kvm/20211005060549.clar5nakynz2zecl@xxxxxxxxxx/
[2] https://lore.kernel.org/kvm/20211004204931.1537823-1-zxwang42@xxxxxxxxx/

Marc Orr (2):
  scripts: Generalize EFI check
  x86 UEFI: Make run_tests.sh (mostly) work under UEFI

Zixuan Wang (5):
  x86 UEFI: Remove mixed_mode
  x86 UEFI: Refactor set up process
  x86 UEFI: Convert x86 test cases to PIC
  x86 UEFI: Set UEFI OVMF as readonly
  x86 UEFI: Exit QEMU with return code

 lib/efi.c            |  54 ++++++--
 lib/efi.h            |  19 ++-
 lib/linux/efi.h      | 317 ++++++++++++++-----------------------------
 lib/x86/acpi.c       |  36 +++--
 lib/x86/acpi.h       |   5 +-
 lib/x86/asm/setup.h  |  16 +--
 lib/x86/setup.c      | 153 ++++++++++-----------
 lib/x86/usermode.c   |   3 +-
 scripts/common.bash  |   9 +-
 scripts/runtime.bash |  15 +-
 x86/Makefile.common  |  10 +-
 x86/Makefile.x86_64  |   7 +-
 x86/access.c         |   9 +-
 x86/cet.c            |   8 +-
 x86/efi/run          |  27 +++-
 x86/emulator.c       |   5 +-
 x86/eventinj.c       |   8 ++
 x86/run              |   6 +-
 x86/smap.c           |  13 +-
 x86/umip.c           |  26 +++-
 20 files changed, 360 insertions(+), 386 deletions(-)

-- 
2.33.0




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux