On 2/27/19 12:28 PM, Alex Bennée wrote:
> Markus Armbruster <armbru@redhat.com> writes:
>
>> pflash_cfi01_register() takes a size in bytes, a block size in bytes
>> and a number of blocks. mips_malta_init() passes BIOS_SIZE, 65536,
>> FLASH_SIZE >> 16. Actually consistent only because BIOS_SIZE (defined
>> in include/hw/mips/bios.h as (4 * MiB)) matches FLASH_SIZE (defined
>> locally as 0x400000). Confusing all the same.
>>
>> Pass FLASH_SIZE instead of BIOS_SIZE.
>>
>> There are more uses of BIOS_SIZE, but I don't sufficiently understand
>> them to attempt cleanup.
>>
>> Cc: Aurelien Jarno <aurelien@aurel32.net>
>> Cc: Aleksandar Rikalo <arikalo@wavecomp.com>
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> ---
>> hw/mips/mips_malta.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c
>> index 172ee033af..c2a5c65a24 100644
>> --- a/hw/mips/mips_malta.c
>> +++ b/hw/mips/mips_malta.c
>> @@ -1269,12 +1269,12 @@ void mips_malta_init(MachineState *machine)
>> if (dinfo) {
>> printf("Register parallel flash %d size " TARGET_FMT_lx " at "
>> "addr %08llx '%s' %x\n",
>> - fl_idx, bios_size, FLASH_ADDRESS,
>> + fl_idx, FLASH_SIZE, FLASH_ADDRESS,
>
> bios_size == FLASH_SIZE at this point, but is then overwritten later in
> the function *if* the flash is loaded (and not already set via a dinfo).
> I'd say you could move bios_size down to were it's used but then you
> confused the byte swapping machinery which expects something to be set.
>
> All that said these changes so far are not wrong:
>
> Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
I reworked Markus patch and sent as a new series:
https://lists.gnu.org/archive/html/qemu-devel/2019-03/msg01149.html
but forgot to Cc you, and forgot your R-b :/
>
>
>> blk_name(dinfo->bdrv), fl_sectors);
>> }
>> #endif
>> fl = pflash_cfi01_register(FLASH_ADDRESS, NULL, "mips_malta.bios",
>> - BIOS_SIZE,
>> + FLASH_SIZE,
>> dinfo ? blk_by_legacy_dinfo(dinfo) : NULL,
>> 65536, fl_sectors,
>> 4, 0x0000, 0x0000, 0x0000, 0x0000, be);
>
>
> --
> Alex Bennée
>