qemu-e2k/hw/ppc
David Engraf 8d62259420 PPC: e500: Fix duplicate kernel load and device tree overlap
This patch fixes an incorrect behavior when the -kernel argument has been
specified without -bios. In this case the kernel was loaded twice. At address
32M as a raw image and afterwards by load_elf/load_uimage at the
corresponding load address. In this case the region for the device tree and
the raw kernel image may overlap.

The patch fixes the behavior by loading the kernel image once with
load_elf/load_uimage and skips loading the raw image.

When here do not use bios_name/size for the kernel and use a more generic
name called payload_name/size.

New in v3: dtb must be stored between kernel and initrd because Linux can
           handle the dtb only within the first 64MB. Add a comment to
           clarify the behavior.

Signed-off-by: David Engraf <david.engraf@sysgo.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-03-06 13:16:29 +11:00
..
e500-ccsr.h
e500.c PPC: e500: Fix duplicate kernel load and device tree overlap 2018-03-06 13:16:29 +11:00
e500.h
e500plat.c
fdt.c Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00
mac_newworld.c macio: remove macio_init() function 2018-03-06 13:16:29 +11:00
mac_oldworld.c macio: remove macio_init() function 2018-03-06 13:16:29 +11:00
mac.h macio: move macio related structures and defines into separate macio.h file 2018-03-06 13:16:29 +11:00
Makefile.objs ppc: Add aCube Sam460ex board 2018-03-06 13:16:29 +11:00
mpc8544_guts.c
mpc8544ds.c
pnv_bmc.c Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00
pnv_core.c
pnv_lpc.c
pnv_occ.c
pnv_psi.c
pnv_xscom.c Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00
pnv.c
ppc4xx_devs.c
ppc4xx_pci.c
ppc405_boards.c
ppc405_uc.c
ppc405.h
ppc440_bamboo.c
ppc440_pcix.c ppc440: Add emulation of plb-pcix controller found in some 440 SoCs 2018-03-06 13:16:29 +11:00
ppc440_uc.c ppc440_uc: Fix unintialized variable warning with older gcc 2018-03-06 13:16:29 +11:00
ppc440.h ppc4xx: Add device models found in PPC440 core SoCs 2018-02-16 14:06:07 +11:00
ppc_booke.c
ppc.c Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00
ppce500_spin.c
prep_systemio.c
prep.c
rs6000_mc.c
sam460ex.c ppc: Add aCube Sam460ex board 2018-03-06 13:16:29 +11:00
spapr_caps.c ppc/spapr-caps: Define the pseries-2.12-sxxm machine type 2018-03-06 13:16:29 +11:00
spapr_cpu_core.c spapr: move VCPU calculation to core machine code 2018-02-16 12:14:26 +11:00
spapr_drc.c qdict qlist: Make most helper macros functions 2018-02-09 13:52:15 +01:00
spapr_events.c
spapr_hcall.c ppc/spapr-caps: Convert cap-ibs to custom spapr-cap 2018-03-06 13:16:29 +11:00
spapr_iommu.c
spapr_ovec.c
spapr_pci_vfio.c Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00
spapr_pci.c
spapr_rng.c
spapr_rtas_ddw.c
spapr_rtas.c Include less of the generated modular QAPI headers 2018-03-02 13:45:50 -06:00
spapr_rtc.c qapi: Empty out qapi-schema.json 2018-03-02 13:45:50 -06:00
spapr_vio.c
spapr.c hw/ppc/spapr,e500: Use new property "stdout-path" for boot console 2018-03-06 13:16:29 +11:00
trace-events ppc440: Add emulation of plb-pcix controller found in some 440 SoCs 2018-03-06 13:16:29 +11:00
virtex_ml507.c Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00