diff options
author | Alexey Kardashevskiy <aik@ozlabs.ru> | 2021-07-08 16:56:25 +1000 |
---|---|---|
committer | David Gibson <david@gibson.dropbear.id.au> | 2021-07-09 10:55:11 +1000 |
commit | 21bde1ecb6cecba1d2f0219a1b79c240bed78749 (patch) | |
tree | c24f3da40cfb0665e51c6430abd963331262bb5e /hw/ppc/spapr.c | |
parent | 89bb5a4dfdef8316e840ab090ef04a5b7117731b (diff) | |
download | qemu-21bde1ecb6cecba1d2f0219a1b79c240bed78749.zip qemu-21bde1ecb6cecba1d2f0219a1b79c240bed78749.tar.gz qemu-21bde1ecb6cecba1d2f0219a1b79c240bed78749.tar.bz2 |
spapr: Fix implementation of Open Firmware client interface
This addresses the comments from v22.
The functional changes are (the VOF ones need retesting with Pegasos2):
(VOF) setprop will start failing if the machine class callback
did not handle it;
(VOF) unit addresses are lowered in path_offset();
(SPAPR) /chosen/bootargs is initialized from kernel_cmdline if
the client did not change it.
Fixes: 5c991e5d4378 ("spapr: Implement Open Firmware client interface")
Cc: BALATON Zoltan <balaton@eik.bme.hu>
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Message-Id: <20210708065625.548396-1-aik@ozlabs.ru>
Tested-by: BALATON Zoltan <balaton@eik.bme.hu>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'hw/ppc/spapr.c')
-rw-r--r-- | hw/ppc/spapr.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index e9b6d0f..3808d47 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -1645,15 +1645,7 @@ static void spapr_machine_reset(MachineState *machine) fdt = spapr_build_fdt(spapr, true, FDT_MAX_SIZE); if (spapr->vof) { - target_ulong stack_ptr = 0; - - spapr_vof_reset(spapr, fdt, &stack_ptr, &error_fatal); - - spapr_cpu_set_entry_state(first_ppc_cpu, SPAPR_ENTRY_POINT, - stack_ptr, spapr->initrd_base, - spapr->initrd_size); - /* VOF is 32bit BE so enforce MSR here */ - first_ppc_cpu->env.msr &= ~((1ULL << MSR_SF) | (1ULL << MSR_LE)); + spapr_vof_reset(spapr, fdt, &error_fatal); /* * Do not pack the FDT as the client may change properties. * VOF client does not expect the FDT so we do not load it to the VM. |