summary refs log tree commit diff stats
path: root/hw/core/loader.c
diff options
context:
space:
mode:
authorThomas Huth <thuth@linux.vnet.ibm.com>2015-03-09 11:12:52 +0100
committerChristian Borntraeger <borntraeger@de.ibm.com>2015-03-10 09:26:27 +0100
commit5dce07e1cb67aab265b16e39b0b9d812199a4d22 (patch)
treead13b7a201a54862bf24b050bf8514ec2f6065cf /hw/core/loader.c
parent5c8d542004b7474560bc4cb017d597ea320bd4ac (diff)
downloadfocaccia-qemu-5dce07e1cb67aab265b16e39b0b9d812199a4d22.tar.gz
focaccia-qemu-5dce07e1cb67aab265b16e39b0b9d812199a4d22.zip
elf-loader: Provide the possibility to relocate s390 ELF files
On s390, we would like to load our "BIOS" s390-ccw.img to the end of the
RAM. Therefor we need the possibility to relocate the ELF file so that
it can also run from different addresses. This patch adds the necessary
code to the QEMU ELF loader function.

Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com>
Message-Id: <1425895973-15239-2-git-send-email-thuth@linux.vnet.ibm.com>
Acked-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'hw/core/loader.c')
-rw-r--r--hw/core/loader.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/core/loader.c b/hw/core/loader.c
index e45dc0b174..76d8acace9 100644
--- a/hw/core/loader.c
+++ b/hw/core/loader.c
@@ -297,6 +297,7 @@ static void *load_at(int fd, int offset, int size)
 #undef elf_phdr
 #undef elf_shdr
 #undef elf_sym
+#undef elf_rela
 #undef elf_note
 #undef elf_word
 #undef elf_sword
@@ -307,6 +308,7 @@ static void *load_at(int fd, int offset, int size)
 #define elf_note	elf64_note
 #define elf_shdr	elf64_shdr
 #define elf_sym		elf64_sym
+#define elf_rela        elf64_rela
 #define elf_word        uint64_t
 #define elf_sword        int64_t
 #define bswapSZs	bswap64s