[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH qemu] spapr/rtas: Reserve space for RTAS blob and log
From: |
David Gibson |
Subject: |
Re: [PATCH qemu] spapr/rtas: Reserve space for RTAS blob and log |
Date: |
Mon, 16 Mar 2020 13:22:36 +1100 |
On Mon, Mar 16, 2020 at 12:18:41PM +1100, Alexey Kardashevskiy wrote:
> At the moment SLOF reserves space for RTAS and instantiates the RTAS blob
> which is 20 bytes binary blob calling an hypercall. The rest of the RTAS
> area is a log which SLOF has no idea about but QEMU does.
>
> This moves RTAS sizing to QEMU and this overrides the size from SLOF.
> The only remaining problem is that SLOF copies the number of bytes it
> reserved (2KB for now) so QEMU needs to reserve at least this much;
> SLOF will be fixed separately to check that rtas-size from QEMU is
> enough for those 20 bytes the H_RTAS hcall.
>
> Signed-off-by: Alexey Kardashevskiy <address@hidden>
Applied to ppc-for-5.0, thanks.
> ---
> include/hw/ppc/spapr.h | 1 +
> hw/ppc/spapr.c | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h
> index 2015e37ac5c8..35b489a54929 100644
> --- a/include/hw/ppc/spapr.h
> +++ b/include/hw/ppc/spapr.h
> @@ -736,6 +736,7 @@ void spapr_load_rtas(SpaprMachineState *spapr, void *fdt,
> hwaddr addr);
> #define SPAPR_IS_PCI_LIOBN(liobn) (!!((liobn) & 0x80000000))
> #define SPAPR_PCI_DMA_WINDOW_NUM(liobn) ((liobn) & 0xff)
>
> +#define RTAS_SIZE 2048
> #define RTAS_ERROR_LOG_MAX 2048
>
> /* Offset from rtas-base where error log is placed */
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index 64bc8b83e91e..d3db3ec56e9c 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -967,6 +967,7 @@ static void spapr_dt_rtas(SpaprMachineState *spapr, void
> *fdt)
> _FDT(fdt_setprop(fdt, rtas, "ibm,max-associativity-domains",
> maxdomains, sizeof(maxdomains)));
>
> + _FDT(fdt_setprop_cell(fdt, rtas, "rtas-size", RTAS_SIZE));
> _FDT(fdt_setprop_cell(fdt, rtas, "rtas-error-log-max",
> RTAS_ERROR_LOG_MAX));
> _FDT(fdt_setprop_cell(fdt, rtas, "rtas-event-scan-rate",
--
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