load_elf: replace the address addend by a translation function
authorAurelien Jarno <aurelien@aurel32.net>
Sun, 14 Mar 2010 20:20:59 +0000 (21:20 +0100)
committerAurelien Jarno <aurelien@aurel32.net>
Tue, 16 Mar 2010 07:38:05 +0000 (08:38 +0100)
commit89aff57975aa1cbe269fde29d39778d493d790ca
tree61aaddb4700595752b34e01db383074463336329
parenta96ddd0e61e4b4eb57699927a44f3347dfa70a06
load_elf: replace the address addend by a translation function

A few machines need to translate the ELF header addresses into physical
addresses. Currently the only possibility is to add a value to the
addresses.

This patch replaces the addend argument by and a translation function
and an opaque passed to the function. A NULL function does not translate
the address.

The patch also convert all machines that have an addend, simplify the
PowerPC kernel loading and fix the MIPS kernel loading using this new
feature. Other machines may benefit from this feature.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
24 files changed:
Makefile.target
hw/an5206.c
hw/arm_boot.c
hw/armv7m.c
hw/axis_dev88.c
hw/dummy_m68k.c
hw/elf_ops.h
hw/etraxfs.c
hw/loader.c
hw/loader.h
hw/mcf5208.c
hw/mips.h
hw/mips_addr.c [new file with mode: 0644]
hw/mips_malta.c
hw/mips_mipssim.c
hw/mips_r4k.c
hw/multiboot.c
hw/petalogix_s3adsp1800_mmu.c
hw/ppc440_bamboo.c
hw/ppc_newworld.c
hw/ppc_oldworld.c
hw/ppce500_mpc8544ds.c
hw/sun4m.c
hw/sun4u.c