I had this on my backlog and decided to get it out of the way. We have a lot of 'memmap' uses in virt that aren't made via s->memmap. In fact most of the accesses are done via the static array virt_memmap directly. Some fdt functions are using it via an extra argument, which is unneeded since we can access it directly or via s->memmap.
This current state of affairs will hurt us in the long run when we decide to version the 'virt' board. We might have multiple memmaps for each version and then we'll have to deal with all these static references to a specific memmap. Using s->memmap right now will make our lives easier in the future. Aside from a couple of patches the changes are rather trivial. Patch 9 is a change I decided to make after noticing the amount of 'long' casts we have when formating a fdt string. Patches based on alistair/riscv-to-apply.next. Daniel Henrique Barboza (9): hw/riscv/virt.c: enforce s->memmap use in machine_init() hw/riscv/virt.c: remove trivial virt_memmap references hw/riscv/virt.c: use s->memmap in virt_machine_done() hw/riscv/virt.c: add 'base' arg in create_fw_cfg() hw/riscv/virt.c: use s->memmap in create_fdt() path hw/riscv/virt.c: use s->memmap in create_fdt_sockets() path hw/riscv/virt.c: use s->memmap in create_fdt_virtio() hw/riscv/virt.c: use s->memmap in finalize_fdt() functions hw/riscv/virt.c: remove 'long' casts in fmt strings hw/riscv/virt.c | 269 +++++++++++++++++++++++++----------------------- 1 file changed, 138 insertions(+), 131 deletions(-) -- 2.49.0