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 <[email protected]>
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
