On 11/29/20 2:39 PM, Peter Maydell wrote: > In rom_check_and_register_reset() we report to the user if there is > a "ROM region overlap". This has a couple of problems: > * the reported information is not very easy to intepret > * the function just prints the overlap to stderr (and relies on > its single callsite in vl.c to do an error_report() and exit) > * only the first overlap encountered is diagnosed > > Make this function use error_report() and error_printf() and > report a more user-friendly report with all the overlaps > diagnosed. > > Sample old output: > > rom: requested regions overlap (rom dtb. free=0x0000000000008000, > addr=0x0000000000000000) > qemu-system-aarch64: rom check and register reset failed > > Sample new output: > > qemu-system-aarch64: Some ROM regions are overlapping > These ROM regions might have been loaded by direct user request or by default. > They could be BIOS/firmware images, a guest kernel, initrd or some other file > loaded into guest memory. > Check whether you intended to load all this guest code, and whether it has > been built to load to the correct addresses. > > The following two regions overlap (in the cpu-memory-0 address space): > phdr #0: /home/petmay01/linaro/qemu-misc-tests/ldmia-fault.axf (addresses > 0x0000000000000000 - 0x0000000000008000) > dtb (addresses 0x0000000000000000 - 0x0000000000100000) > > The following two regions overlap (in the cpu-memory-0 address space): > phdr #1: /home/petmay01/linaro/qemu-misc-tests/bad-psci-call.axf (addresses > 0x0000000040000000 - 0x0000000040000010) > phdr #0: /home/petmay01/linaro/qemu-misc-tests/bp-test.elf (addresses > 0x0000000040000000 - 0x0000000040000020) > > Signed-off-by: Peter Maydell <[email protected]> > ---
Reviewed-by: Richard Henderson <[email protected]> r~
