On 8/2/2022 9:21 PM, Jason A. Donenfeld wrote:
Hi,

On Tue, Aug 02, 2022 at 11:28:15AM +0800, Xiaoyao Li wrote:
   static void pc_q35_7_0_machine_options(MachineClass *m)
   {
+    PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
       pc_q35_7_1_machine_options(m);
       m->alias = NULL;
+    pcmc->legacy_no_rng_seed = true;

Is making .legacy_no_rng_seed default false and opt-in it for old
machines correct?

Not sure I follow what you're saying. ≤7.0 won't pass the RNG seed. It's
only on ≥7.1 that the RNG seed is used.

yes, with >= 7.1, pcmc->legacy_no_rng_seed = false by default, and RNG seed is used.

Either way, this shouldn't cause boot failures.

It does fail booting OVMF with #PF. Below diff can fix the #PF for me.

diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 7280c02ce3d5..1f62971759bf 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1903,6 +1903,7 @@ static void pc_machine_class_init(ObjectClass *oc, void *data)
     pcmc->has_reserved_memory = true;
     pcmc->kvmclock_enabled = true;
     pcmc->enforce_aligned_dimm = true;
+    pcmc->legacy_no_rng_seed = true;
     pcmc->enforce_amd_1tb_hole = true;
/* BIOS ACPI tables: 128K. Other BIOS datastructures: less than 4K reported
      * to be used at the moment, 32K should be enough for a while.  */

Jason


Reply via email to