diff options
author | Edgar E. Iglesias <edgar.iglesias@gmail.com> | 2009-05-20 21:31:33 +0200 |
---|---|---|
committer | Edgar E. Iglesias <edgar.iglesias@gmail.com> | 2009-05-26 21:10:28 +0200 |
commit | b779e29ed8919b18644b41bf581bdbcffdcb962e (patch) | |
tree | c0f48eee0c379d092db118f53fd42a6c306fc826 /linux-user/elfload.c | |
parent | 8dfbe4e839ef775be5e365b2e458d4bc43ce600f (diff) | |
download | qemu-b779e29ed8919b18644b41bf581bdbcffdcb962e.zip |
microblaze: linux-user support.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Diffstat (limited to 'linux-user/elfload.c')
-rw-r--r-- | linux-user/elfload.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 508cb379b0..190ad143e0 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -453,6 +453,28 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i #endif /* TARGET_MIPS */ +#ifdef TARGET_MICROBLAZE + +#define ELF_START_MMAP 0x80000000 + +#define elf_check_arch(x) ( (x) == EM_XILINX_MICROBLAZE ) + +#define ELF_CLASS ELFCLASS32 +#define ELF_DATA ELFDATA2MSB +#define ELF_ARCH EM_MIPS + +static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop) +{ + regs->pc = infop->entry; + regs->r1 = infop->start_stack; + +} + +#define USE_ELF_CORE_DUMP +#define ELF_EXEC_PAGESIZE 4096 + +#endif /* TARGET_MICROBLAZE */ + #ifdef TARGET_SH4 #define ELF_START_MMAP 0x80000000 |