[Skiboot] [PATCH] hdata/memory.c: Fix "Inconsistent MSAREA" warnings
Klaus Heinrich Kiwi
klaus at linux.vnet.ibm.com
Mon Apr 27 07:54:13 AEST 2020
Oliver,
I was thinking a bit about this and decided to send a simple 'trivial
fix' since a more complete one would require some re-work I think
(besides, a trivial fix should apply cleanly on skiboot-6.6).
Right we're creating memory-buffer@<min-addr> nodes under root, and
those min-addr are calculated as part of the mmio ranges structure.
If we wanted to add a add_memory_controller_p9p() function, wouldn't we
want to re-use the same memory-buffer@ nodes to add the address-range
attributes? The amount of rework for us to be able to do that seems
significant and not so clear unless we join add_memory_controller_p9p()
with add_memory_buffer_mmio()
Perhaps we should make things clearer and add
memory-buffer@<physical-chip-id> when parsing the address range array,
and add mmio@<min-addr> nodes underneath them when parsing the mmio range?
If you agree, I can try helping with that implementation..
Thanks,
-Klaus
On 4/26/2020 4:45 PM, Klaus Heinrich Kiwi wrote:
> add_memory_buffer_mmio() should be exclusive to P9P (AXONE).
> Running it on non P9P systems resulted in warnings such as:
>
> MS AREA: Inconsistent MSAREA version 40 for P9P system
>
> So check for PVR and quietly return if not P9P.
>
> Fixes: 38b5c3179 (Add support for memory-buffer mmio)
> Cc: skiboot-stable at lists.ozlabs.org
> Cc: Oliver O'Halloran <oohall at gmail.com>
> Signed-off-by: Klaus Heinrich Kiwi <klaus at linux.vnet.ibm.com>
> ---
> hdata/memory.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/hdata/memory.c b/hdata/memory.c
> index 7ce927502..f2c440540 100755
> --- a/hdata/memory.c
> +++ b/hdata/memory.c
> @@ -514,6 +514,9 @@ static void add_memory_buffer_mmio(const struct HDIF_common_hdr *msarea)
> struct dt_node *membuf;
> uint64_t *reg, *flags;
>
> + if (PVR_TYPE(mfspr(SPR_PVR)) != PVR_TYPE_P9P)
> + return;
> +
> if (be32_to_cpu(msarea->version) < 0x50) {
> prlog(PR_WARNING, "MS AREA: Inconsistent MSAREA version %x for P9P system",
> be32_to_cpu(msarea->version));
>
--
Klaus Heinrich Kiwi <klaus at linux.vnet.ibm.com>
More information about the Skiboot
mailing list