diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2003-02-18 22:55:36 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2003-02-18 22:55:36 +0000 |
commit | 31e31b8a248ffa216223dad49f75efbdfca5df23 (patch) | |
tree | 7a2e4a2e20da5bd5d61f906f6d75dab2d3418e5f /linux-user/qemu.h | |
parent | e63c3dc74bfb90e4522d075d0d5a7600c5145745 (diff) | |
download | qemu-31e31b8a248ffa216223dad49f75efbdfca5df23.zip |
This commit was generated by cvs2svn to compensate for changes in r2,
which included commits to RCS files with non-trunk default branches.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'linux-user/qemu.h')
-rw-r--r-- | linux-user/qemu.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/linux-user/qemu.h b/linux-user/qemu.h new file mode 100644 index 0000000000..fa40d4d845 --- /dev/null +++ b/linux-user/qemu.h @@ -0,0 +1,57 @@ +#ifndef GEMU_H +#define GEMU_H + +#include "thunk.h" + +struct pt_regs { + long ebx; + long ecx; + long edx; + long esi; + long edi; + long ebp; + long eax; + int xds; + int xes; + long orig_eax; + long eip; + int xcs; + long eflags; + long esp; + int xss; +}; + +/* This struct is used to hold certain information about the image. + * Basically, it replicates in user space what would be certain + * task_struct fields in the kernel + */ +struct image_info { + unsigned long start_code; + unsigned long end_code; + unsigned long end_data; + unsigned long start_brk; + unsigned long brk; + unsigned long start_mmap; + unsigned long mmap; + unsigned long rss; + unsigned long start_stack; + unsigned long arg_start; + unsigned long arg_end; + unsigned long env_start; + unsigned long env_end; + unsigned long entry; + int personality; +}; + +int elf_exec(const char * filename, char ** argv, char ** envp, + struct pt_regs * regs, struct image_info *infop); + +void target_set_brk(char *new_brk); +void syscall_init(void); +long do_syscall(int num, long arg1, long arg2, long arg3, + long arg4, long arg5, long arg6); +void gemu_log(const char *fmt, ...) __attribute__((format(printf,1,2))); + + + +#endif |