On Tue, Nov 19, 2019 at 11:20:53PM +0530, Balamuruhan S wrote: > homer/occ sizes are calculated in skiboot with `(mask | 0xfffff) + 1`, > and from xscom access should return correct mask values instead of actual > sizes. > > Signed-off-by: Cédric Le Goater <[email protected]> > Signed-off-by: Balamuruhan S <[email protected]> > --- > hw/ppc/pnv_xscom.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/hw/ppc/pnv_xscom.c b/hw/ppc/pnv_xscom.c > index f01d788a65..cdd5fa356e 100644 > --- a/hw/ppc/pnv_xscom.c > +++ b/hw/ppc/pnv_xscom.c > @@ -46,6 +46,10 @@ > #define P9_PBA_BARMASK0 0x5012b04 > #define P9_PBA_BARMASK2 0x5012b06 > > +/* Mask to calculate Homer/Occ size */ > +#define HOMER_SIZE_MASK 0x0000000000300000ull > +#define OCC_SIZE_MASK 0x0000000000700000ull
Uuuhhhhh... AFAICT these defines have identical values to
PNV_HOMER_SIZE and PNV_OCC_COMMON_AREA_SIZE, so I don't see what this
patch is actually changing.
> static void xscom_complete(CPUState *cs, uint64_t hmer_bits)
> {
> /*
> @@ -90,9 +94,8 @@ static uint64_t xscom_read_default(PnvChip *chip, uint32_t
> pcba)
> return PNV_HOMER_BASE(chip);
>
> case P9_PBA_BARMASK0: /* P9 homer region size */
> - return PNV9_HOMER_SIZE;
> case P8_PBA_BARMASK0: /* P8 homer region size */
> - return PNV_HOMER_SIZE;
> + return HOMER_SIZE_MASK;
>
> case P9_PBA_BAR2: /* P9 occ common area */
> return PNV9_OCC_COMMON_AREA(chip);
> @@ -100,9 +103,8 @@ static uint64_t xscom_read_default(PnvChip *chip,
> uint32_t pcba)
> return PNV_OCC_COMMON_AREA(chip);
>
> case P9_PBA_BARMASK2: /* P9 occ common area size */
> - return PNV9_OCC_COMMON_AREA_SIZE;
> case P8_PBA_BARMASK2: /* P8 occ common area size */
> - return PNV_OCC_COMMON_AREA_SIZE;
> + return OCC_SIZE_MASK;
>
> case 0x1010c00: /* PIBAM FIR */
> case 0x1010c03: /* PIBAM FIR MASK */
--
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
