[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/4] Refactor x86_load_linux and pass RNG seed via setup_data ent
From: |
Paolo Bonzini |
Subject: |
[PATCH 0/4] Refactor x86_load_linux and pass RNG seed via setup_data entry |
Date: |
Thu, 21 Jul 2022 14:29:33 +0200 |
As mentioned in the reviews of Jason's patches, the fw_cfg data, or at
least its structure including the size, is part of the guest ABI and
must match across two sides of migration.
It would be possible to handle this with some duplicated code between
the rng seed and DTB handling, but the conditionals to handle the linked
list would be ugly. Unfortunately the code of x86_load_linux has no
data structures available, it's all of a jumble of local variables.
Hence the first two and largest patches in this series, which remove all
non-Linux code from the function and move the local variables to a struct
as necessary. The function was long overdue for some cleanup anyway.
With this in place, adding the seed setup_data entry is just a
couple lines of code, plus the scaffolding for a new machine property
"linuxboot-seed". The property supports on/off/auto values, where "auto"
disables/enables depending on the kernel support for setup data (which was
added in 2.6.26); "on" currently fails when starting with an old kernel,
and probably it should also fail when starting a PVH or multiboot kernel.
Paolo
Jason A. Donenfeld (1):
hw/i386: pass RNG seed via setup_data entry
Paolo Bonzini (3):
hw/i386: extract PVH load to a separate function
hw/i386: define a struct for Linux boot protocol data
hw/i386: extract handling of setup data linked list
hw/i386/pc.c | 1 +
hw/i386/x86.c | 303 +++++++++++--------
include/hw/i386/x86.h | 2 +
include/standard-headers/asm-x86/bootparam.h | 1 +
4 files changed, 185 insertions(+), 122 deletions(-)
--
2.36.1
- [PATCH 0/4] Refactor x86_load_linux and pass RNG seed via setup_data entry,
Paolo Bonzini <=
- [PATCH 1/4] hw/i386: extract PVH load to a separate function, Paolo Bonzini, 2022/07/21
- [PATCH 2/4] hw/i386: define a struct for Linux boot protocol data, Paolo Bonzini, 2022/07/21
- [PATCH 3/4] hw/i386: extract handling of setup data linked list, Paolo Bonzini, 2022/07/21
- [PATCH 4/4] hw/i386: pass RNG seed via setup_data entry, Paolo Bonzini, 2022/07/21
- Re: [PATCH 0/4] Refactor x86_load_linux and pass RNG seed via setup_data entry, Michael S. Tsirkin, 2022/07/21