X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=linux-user%2Fqemu.h;h=794fe491331e7dd6b265c8bcfc876a05fa36fcbe;hb=030db6e89d052fbf689b632d74026030bdf7a02a;hp=def620f0eed508e26a50369120797712ea96ec81;hpb=370220865b8f3451a5d2caac8f38b3fd08818bf8;p=qemu.git diff --git a/linux-user/qemu.h b/linux-user/qemu.h index def620f0e..794fe4913 100644 --- a/linux-user/qemu.h +++ b/linux-user/qemu.h @@ -18,7 +18,7 @@ #include "syscall.h" #include "target_signal.h" #include "gdbstub.h" -#include "sys-queue.h" +#include "qemu-queue.h" #if defined(CONFIG_USE_NPTL) #define THREAD __thread @@ -31,6 +31,7 @@ * task_struct fields in the kernel */ struct image_info { + abi_ulong load_bias; abi_ulong load_addr; abi_ulong start_code; abi_ulong end_code; @@ -42,6 +43,7 @@ struct image_info { abi_ulong mmap; abi_ulong rss; abi_ulong start_stack; + abi_ulong stack_limit; abi_ulong entry; abi_ulong code_offset; abi_ulong data_offset; @@ -133,9 +135,7 @@ void init_task_state(TaskState *ts); void task_settid(TaskState *); void stop_all_tasks(void); extern const char *qemu_uname_release; -#if defined(CONFIG_USE_GUEST_BASE) extern unsigned long mmap_min_addr; -#endif /* ??? See if we can avoid exposing so much of the loader internals. */ /* @@ -145,12 +145,16 @@ extern unsigned long mmap_min_addr; */ #define MAX_ARG_PAGES 33 +/* Read a good amount of data initially, to hopefully get all the + program headers loaded. */ +#define BPRM_BUF_SIZE 1024 + /* * This structure is used to hold the arguments that are * used when loading binaries. */ struct linux_binprm { - char buf[128]; + char buf[BPRM_BUF_SIZE] __attribute__((aligned)); void *page[MAX_ARG_PAGES]; abi_ulong p; int fd; @@ -173,11 +177,6 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, struct image_info * info); int load_flt_binary(struct linux_binprm * bprm, struct target_pt_regs * regs, struct image_info * info); -#ifdef TARGET_HAS_ELFLOAD32 -int load_elf_binary_multi(struct linux_binprm *bprm, - struct target_pt_regs *regs, - struct image_info *info); -#endif abi_long memcpy_to_target(abi_ulong dest, const void *src, unsigned long len); @@ -248,7 +247,7 @@ void mmap_fork_end(int child); #endif /* main.c */ -extern unsigned long x86_stack_size; +extern unsigned long guest_stack_size; /* user access */