summary refs log tree commit diff stats
path: root/hw/mips.h
diff options
context:
space:
mode:
authorAurelien Jarno <aurelien@aurel32.net>2010-03-14 21:20:59 +0100
committerAurelien Jarno <aurelien@aurel32.net>2010-03-16 08:38:05 +0100
commit409dbce54b57b85bd229174da86d77ca08508508 (patch)
tree61aaddb4700595752b34e01db383074463336329 /hw/mips.h
parentcb66ffcf9e298dc1bfc11682172ff9472bcd4495 (diff)
downloadfocaccia-qemu-409dbce54b57b85bd229174da86d77ca08508508.tar.gz
focaccia-qemu-409dbce54b57b85bd229174da86d77ca08508508.zip
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>
Diffstat (limited to 'hw/mips.h')
-rw-r--r--hw/mips.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/hw/mips.h b/hw/mips.h
index 5fd72bb026..9484ea7d96 100644
--- a/hw/mips.h
+++ b/hw/mips.h
@@ -20,6 +20,10 @@ void mipsnet_init(int base, qemu_irq irq, NICInfo *nd);
 /* jazz_led.c */
 extern void jazz_led_init(target_phys_addr_t base);
 
+/* mips_addr.c */
+uint64_t cpu_mips_kseg0_to_phys(void *opaque, uint64_t addr);
+uint64_t cpu_mips_phys_to_kseg0(void *opaque, uint64_t addr);
+
 /* mips_int.c */
 extern void cpu_mips_irq_init_cpu(CPUState *env);