Message ID | 20220805093948.82561-13-danielhb413@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | QMP/HMP: add 'dumpdtb' and 'info fdt' commands | expand |
On Fri, Aug 5, 2022 at 8:08 PM Daniel Henrique Barboza <danielhb413@gmail.com> wrote: > > This will enable support for 'dumpdtb' and 'info fdt' HMP commands for > the spike machine. > > Cc: Palmer Dabbelt <palmer@dabbelt.com> > Cc: Alistair Francis <alistair.francis@wdc.com> > Cc: Bin Meng <bin.meng@windriver.com> > Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Alistair > --- > hw/riscv/spike.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c > index e41b6aa9f0..2909f7b2a1 100644 > --- a/hw/riscv/spike.c > +++ b/hw/riscv/spike.c > @@ -40,6 +40,8 @@ > #include "sysemu/device_tree.h" > #include "sysemu/sysemu.h" > > +#include <libfdt.h> > + > static const MemMapEntry spike_memmap[] = { > [SPIKE_MROM] = { 0x1000, 0xf000 }, > [SPIKE_HTIF] = { 0x1000000, 0x1000 }, > @@ -304,6 +306,15 @@ static void spike_board_init(MachineState *machine) > /* Compute the fdt load address in dram */ > fdt_load_addr = riscv_load_fdt(memmap[SPIKE_DRAM].base, > machine->ram_size, s->fdt); > + > + /* > + * Update the machine->fdt pointer to enable support for > + * 'dumpdtb'and 'info fdt' commands. Use fdt_pack() to > + * shrink the blob size we're going to store. > + */ > + fdt_pack(s->fdt); > + machine->fdt = s->fdt; > + > /* load the reset vector */ > riscv_setup_rom_reset_vec(machine, &s->soc[0], memmap[SPIKE_DRAM].base, > memmap[SPIKE_MROM].base, > -- > 2.36.1 > >
diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c index e41b6aa9f0..2909f7b2a1 100644 --- a/hw/riscv/spike.c +++ b/hw/riscv/spike.c @@ -40,6 +40,8 @@ #include "sysemu/device_tree.h" #include "sysemu/sysemu.h" +#include <libfdt.h> + static const MemMapEntry spike_memmap[] = { [SPIKE_MROM] = { 0x1000, 0xf000 }, [SPIKE_HTIF] = { 0x1000000, 0x1000 }, @@ -304,6 +306,15 @@ static void spike_board_init(MachineState *machine) /* Compute the fdt load address in dram */ fdt_load_addr = riscv_load_fdt(memmap[SPIKE_DRAM].base, machine->ram_size, s->fdt); + + /* + * Update the machine->fdt pointer to enable support for + * 'dumpdtb'and 'info fdt' commands. Use fdt_pack() to + * shrink the blob size we're going to store. + */ + fdt_pack(s->fdt); + machine->fdt = s->fdt; + /* load the reset vector */ riscv_setup_rom_reset_vec(machine, &s->soc[0], memmap[SPIKE_DRAM].base, memmap[SPIKE_MROM].base,
This will enable support for 'dumpdtb' and 'info fdt' HMP commands for the spike machine. Cc: Palmer Dabbelt <palmer@dabbelt.com> Cc: Alistair Francis <alistair.francis@wdc.com> Cc: Bin Meng <bin.meng@windriver.com> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/riscv/spike.c | 11 +++++++++++ 1 file changed, 11 insertions(+)