Message ID | 20220908194040.518400-5-danielhb413@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | QMP/HMP: introduce 'dumpdtb' | expand |
+David/Peter On 8/9/22 21:40, Daniel Henrique Barboza wrote: > This will enable support for 'dumpdtb' QMP/HMP command for the e500 > machine. > > Cc: Cédric Le Goater <clg@kaod.org> > Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> > --- > hw/ppc/e500.c | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c > index 32495d0123..ea5f947824 100644 > --- a/hw/ppc/e500.c > +++ b/hw/ppc/e500.c > @@ -47,6 +47,8 @@ > #include "hw/i2c/i2c.h" > #include "hw/irq.h" > > +#include <libfdt.h> > + > #define EPAPR_MAGIC (0x45504150) > #define DTC_LOAD_PAD 0x1800000 > #define DTC_PAD_MASK 0xFFFFF > @@ -600,7 +602,16 @@ done: > cpu_physical_memory_write(addr, fdt, fdt_size); > } > ret = fdt_size; > - g_free(fdt); > + > + /* > + * Update the machine->fdt pointer to enable support for the > + * 'dumpdtb' QMP/HMP command. > + * > + * The FDT is re-created during reset, Why are we doing that? Is it really necessary? This seems to be only required at cold power-on. > so free machine->fdt > + * to avoid leaking the old FDT. > + */ > + g_free(machine->fdt); > + machine->fdt = fdt; > > out: > g_free(pci_map);
diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c index 32495d0123..ea5f947824 100644 --- a/hw/ppc/e500.c +++ b/hw/ppc/e500.c @@ -47,6 +47,8 @@ #include "hw/i2c/i2c.h" #include "hw/irq.h" +#include <libfdt.h> + #define EPAPR_MAGIC (0x45504150) #define DTC_LOAD_PAD 0x1800000 #define DTC_PAD_MASK 0xFFFFF @@ -600,7 +602,16 @@ done: cpu_physical_memory_write(addr, fdt, fdt_size); } ret = fdt_size; - g_free(fdt); + + /* + * Update the machine->fdt pointer to enable support for the + * 'dumpdtb' QMP/HMP command. + * + * The FDT is re-created during reset, so free machine->fdt + * to avoid leaking the old FDT. + */ + g_free(machine->fdt); + machine->fdt = fdt; out: g_free(pci_map);
This will enable support for 'dumpdtb' QMP/HMP command for the e500 machine. Cc: Cédric Le Goater <clg@kaod.org> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/e500.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)