qemu/hw/ppc
Alexander Graf 28290f37e2 PPC: E500: Generate device tree on reset
Today we generate the device tree once on machine initialization and then
store the finalized blob in memory to reload it on reset.

This is bad for 2 reasons. First we potentially waste a bunch of RAM for no
good reason, as we have all information required to regenerate the device
tree available anyways.

The second reason is even more important. On machine init when we generate
the device tree for the first time, we don't have all of the devices fully
initialized yet. But the device tree needs to potentially walk devices to
put information about them into the device tree.

Move the generation into a reset function. That way we just generate it new
every time we reset, solving both of the above issues.

Signed-off-by: Alexander Graf <agraf@suse.de>
2013-09-02 10:06:40 +02:00
..
e500-ccsr.h ppc: do not use ../ in include files 2013-03-01 13:57:33 +01:00
e500.c PPC: E500: Generate device tree on reset 2013-09-02 10:06:40 +02:00
e500.h ppc: Don't duplicate QEMUMachineInitArgs in PPCE500Params 2013-08-21 23:22:22 +03:00
e500plat.c ppc: Don't duplicate QEMUMachineInitArgs in PPCE500Params 2013-08-21 23:22:22 +03:00
mac_newworld.c ppc_newworld: do not use isa_mmio 2013-07-25 08:12:26 -05:00
mac_oldworld.c ppc_oldworld: do not use isa_mmio 2013-07-25 08:12:25 -05:00
mac.h PPC: dbdma: Wait for DMA until we have data 2013-07-11 18:51:25 +02:00
Makefile.objs pseries: move interrupt controllers to hw/intc/ 2013-07-11 18:51:23 +02:00
mpc8544_guts.c cpu: Replace cpu_single_env with CPUState current_cpu 2013-07-09 21:20:28 +02:00
mpc8544ds.c ppc: Don't duplicate QEMUMachineInitArgs in PPCE500Params 2013-08-21 23:22:22 +03:00
ppc4xx_devs.c memory: add owner argument to initialization functions 2013-07-04 17:42:44 +02:00
ppc4xx_pci.c hw/p*: pass owner to memory_region_init* functions 2013-07-04 17:42:48 +02:00
ppc405_boards.c memory: add owner argument to initialization functions 2013-07-04 17:42:44 +02:00
ppc405_uc.c aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
ppc405.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
ppc440_bamboo.c ppc440_bamboo: do not use isa_mmio 2013-07-25 08:12:27 -05:00
ppc_booke.c aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
ppc.c aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
ppce500_spin.c ppce500_spin: QOM cast cleanup 2013-07-29 21:07:00 +02:00
prep.c prep: fix I/O port endianness 2013-07-25 08:12:26 -05:00
spapr_events.c spapr-rtas: add CPU argument to RTAS calls 2013-07-01 01:11:16 +02:00
spapr_hcall.c pseries: savevm support for pseries machine 2013-07-29 10:37:08 -05:00
spapr_iommu.c spapr-tce: make sPAPRTCETable a proper device 2013-07-29 10:37:08 -05:00
spapr_pci.c spapr_pci: QOM cast cleanup 2013-07-29 21:07:03 +02:00
spapr_rtas.c spapr-rtas: add CPU argument to RTAS calls 2013-07-01 01:11:16 +02:00
spapr_vio.c spapr: Rename 'dprintf' to 'DPRINTF' 2013-07-29 19:56:46 -05:00
spapr.c aio / timers: Switch entire codebase to the new timer API 2013-08-22 19:14:24 +02:00
virtex_ml507.c memory: add owner argument to initialization functions 2013-07-04 17:42:44 +02:00