[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH for-7.2 v2 10/20] hw/ppc: set machine->fdt in spapr machine
From: |
David Gibson |
Subject: |
Re: [PATCH for-7.2 v2 10/20] hw/ppc: set machine->fdt in spapr machine |
Date: |
Mon, 8 Aug 2022 13:26:36 +1000 |
On Fri, Aug 05, 2022 at 06:39:38AM -0300, Daniel Henrique Barboza wrote:
> The pSeries machine never bothered with the common machine->fdt
> attribute. We do all the FDT related work using spapr->fdt_blob.
>
> We're going to introduce HMP commands to read and save the FDT, which
> will rely on setting machine->fdt properly to work across all machine
> archs/types.
>
> Let's set machine->fdt in the two places where we manipulate the FDT:
> spapr_machine_reset() and CAS. spapr->fdt_blob is left untouched: what
> we want is a way to access the FDT from HMP, not replace
> spapr->fdt_blob.
Given there is now an fdt field in the generic MACHINE structure, we
should be able to remove the one in spapr->fdt_blob, yes?
>
> Cc: Cédric Le Goater <clg@kaod.org>
> Cc: qemu-ppc@nongnu.org
> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
> ---
> hw/ppc/spapr.c | 6 ++++++
> hw/ppc/spapr_hcall.c | 8 ++++++++
> 2 files changed, 14 insertions(+)
>
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index bc9ba6e6dc..94c90f0351 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -1713,6 +1713,12 @@ static void spapr_machine_reset(MachineState *machine)
> spapr->fdt_initial_size = spapr->fdt_size;
> spapr->fdt_blob = fdt;
>
> + /*
> + * Set the common machine->fdt pointer to enable support
> + * for 'dumpdtb' and 'info fdt' commands.
> + */
> + machine->fdt = fdt;
> +
> /* Set up the entry state */
> first_ppc_cpu->env.gpr[5] = 0;
>
> diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c
> index a8d4a6bcf0..0079bc6fdc 100644
> --- a/hw/ppc/spapr_hcall.c
> +++ b/hw/ppc/spapr_hcall.c
> @@ -1256,6 +1256,14 @@ target_ulong do_client_architecture_support(PowerPCCPU
> *cpu,
> spapr->fdt_initial_size = spapr->fdt_size;
> spapr->fdt_blob = fdt;
>
> + /*
> + * Set the machine->fdt pointer again since we just freed
> + * it above (by freeing spapr->fdt_blob). We set this
> + * pointer to enable support for 'dumpdtb' and 'info fdt'
> + * HMP commands.
> + */
> + MACHINE(spapr)->fdt = fdt;
> +
> return H_SUCCESS;
> }
>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature
- [PATCH for-7.2 v2 10/20] hw/ppc: set machine->fdt in spapr machine, Daniel Henrique Barboza, 2022/08/05
- Re: [PATCH for-7.2 v2 10/20] hw/ppc: set machine->fdt in spapr machine,
David Gibson <=
- Re: [PATCH for-7.2 v2 10/20] hw/ppc: set machine->fdt in spapr machine, Alexey Kardashevskiy, 2022/08/18
- Re: [PATCH for-7.2 v2 10/20] hw/ppc: set machine->fdt in spapr machine, David Gibson, 2022/08/19
- Re: [PATCH for-7.2 v2 10/20] hw/ppc: set machine->fdt in spapr machine, Daniel Henrique Barboza, 2022/08/19
- Re: [PATCH for-7.2 v2 10/20] hw/ppc: set machine->fdt in spapr machine, David Gibson, 2022/08/21
- Re: [PATCH for-7.2 v2 10/20] hw/ppc: set machine->fdt in spapr machine, Alexey Kardashevskiy, 2022/08/21
- Re: [PATCH for-7.2 v2 10/20] hw/ppc: set machine->fdt in spapr machine, Daniel Henrique Barboza, 2022/08/22
- Re: [PATCH for-7.2 v2 10/20] hw/ppc: set machine->fdt in spapr machine, Alexey Kardashevskiy, 2022/08/23
- Re: [PATCH for-7.2 v2 10/20] hw/ppc: set machine->fdt in spapr machine, Daniel Henrique Barboza, 2022/08/23