diff options
| author | Aurelien Jarno | 2011-05-23 22:33:39 +0200 |
|---|---|---|
| committer | Aurelien Jarno | 2011-05-23 22:33:39 +0200 |
| commit | 05c8a1e423736006580e4dd2bd94d0faafc9afdc (patch) | |
| tree | 490e0cb3eb784244bba388cb1890584a32dbf160 /linux-user/elfload.c | |
| parent | Delete unused tb_invalidate_page_range (diff) | |
| parent | s390x: complain when allocating ram fails (diff) | |
| download | qemu-05c8a1e423736006580e4dd2bd94d0faafc9afdc.tar.gz qemu-05c8a1e423736006580e4dd2bd94d0faafc9afdc.tar.xz qemu-05c8a1e423736006580e4dd2bd94d0faafc9afdc.zip | |
Merge branch 's390-next' of git://repo.or.cz/qemu/agraf
* 's390-next' of git://repo.or.cz/qemu/agraf:
s390x: complain when allocating ram fails
s390x: fix memory detection for guests > 64GB
s390x: change mapping base to allow guests > 2GB
s390x: Fix debugging for unknown sigp order codes
s390x: build s390x by default
s390x: remove compatibility cc field
s390x: Adjust GDB stub
s390x: translate engine for s390x CPU
s390x: Adjust internal kvm code
s390x: Implement opcode helpers
s390x: helper functions for system emulation
s390x: Shift variables in CPUState for memset(0)
s390x: keep hint on virtio managing size
s390x: make kvm exported functions conditional on kvm
s390x: s390x-linux-user support
tcg: extend max tcg opcodes when using 64-on-32bit
s390x: fix smp support for kvm
Diffstat (limited to 'linux-user/elfload.c')
| -rw-r--r-- | linux-user/elfload.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 4c399f8e33..dcfeb7a286 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -867,6 +867,25 @@ static inline void init_thread(struct target_pt_regs *regs, #endif /* TARGET_ALPHA */ +#ifdef TARGET_S390X + +#define ELF_START_MMAP (0x20000000000ULL) + +#define elf_check_arch(x) ( (x) == ELF_ARCH ) + +#define ELF_CLASS ELFCLASS64 +#define ELF_DATA ELFDATA2MSB +#define ELF_ARCH EM_S390 + +static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop) +{ + regs->psw.addr = infop->entry; + regs->psw.mask = PSW_MASK_64 | PSW_MASK_32; + regs->gprs[15] = infop->start_stack; +} + +#endif /* TARGET_S390X */ + #ifndef ELF_PLATFORM #define ELF_PLATFORM (NULL) #endif |
