[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: hw/misc/aspeed_scu: 5d971f9e breaks Supermicro AST2400
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: hw/misc/aspeed_scu: 5d971f9e breaks Supermicro AST2400 |
Date: |
Mon, 13 Jul 2020 10:30:51 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 |
On 7/13/20 10:06 AM, Erik Smit wrote:
> Hi Cédric,
>
> On Mon, 13 Jul 2020 at 09:52, Cédric Le Goater <clg@kaod.org> wrote:
>>
>> With this patch, the supermicro firmware boots further but there is still
>> an issue. It might be the flash definition I used. The machine is detected
>> as an AST2300 SoC which is weird.
>
>> BMC flash ID:0x19ba20
>> Unable to handle kernel NULL pointer dereference at virtual address 00000000
>
> The firmware is expecting the flash ID to repeat.
At what address?
> The following makes it boot.
> Not sure if this is the right way to go.
>
> diff --git a/hw/block/m25p80.c b/hw/block/m25p80.c
> index 8227088441..5000930800 100644
> --- a/hw/block/m25p80.c
> +++ b/hw/block/m25p80.c
> @@ -1041,7 +1041,7 @@ static void decode_new_cmd(Flash *s, uint32_t value)
> s->data[i] = s->pi->id[i];
> }
> for (; i < SPI_NOR_MAX_ID_LEN; i++) {
> - s->data[i] = 0;
> + s->data[i] = s->pi->id[i % s->pi->id_len];
Interesting. It makes sense to read the ID repeated (not sure
your patch is the safest way to do it).
I can't find the time to add a generic NOR flash device :/
> }
>
> s->len = SPI_NOR_MAX_ID_LEN;
>