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. Cc: Aurelien Jarno <aurel...@aurel32.net> Cc: Aleksandar Rikalo <arik...@wavecomp.com> Signed-off-by: Markus Armbruster <arm...@redhat.com> Reviewed-by: Alex Bennée <alex.ben...@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> --- hw/mips/mips_malta.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c index e6a67bab1d..f63b1c4776 100644 --- a/hw/mips/mips_malta.c +++ b/hw/mips/mips_malta.c @@ -1275,7 +1275,7 @@ void mips_malta_init(MachineState *machine) #endif } fl = pflash_cfi01_register(FLASH_ADDRESS, NULL, "mips_malta.bios", - BIOS_SIZE, + FLASH_SIZE, pflash_blk, 65536, FLASH_SIZE >> 16, 4, 0x0000, 0x0000, 0x0000, 0x0000, be); -- 2.17.2