summaryrefslogtreecommitdiff
path: root/linux-user/qemu.h
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-03-23 16:49:39 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-03-23 16:49:39 +0000
commit9de5e440b9f6a6c6305c0b81d1df4ddcc5a4b966 (patch)
tree718d0257eb2e9cac1196bd8ca83dfd11c15fd475 /linux-user/qemu.h
parent66fb9763af9cd743158957e8c9c2559d922b1c22 (diff)
downloadqemu-9de5e440b9f6a6c6305c0b81d1df4ddcc5a4b966.tar.gz
better signal/exception support
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@42 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'linux-user/qemu.h')
-rw-r--r--linux-user/qemu.h33
1 files changed, 8 insertions, 25 deletions
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
index 77e9ecadd9..862695511c 100644
--- a/linux-user/qemu.h
+++ b/linux-user/qemu.h
@@ -3,30 +3,12 @@
#include "thunk.h"
-#ifdef TARGET_I386
-
-/* default linux values for the selectors */
-#define __USER_CS (0x23)
-#define __USER_DS (0x2B)
-
-struct target_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;
-};
+#include <signal.h>
+#include "syscall_defs.h"
+#ifdef TARGET_I386
+#include "cpu-i386.h"
+#include "syscall-i386.h"
#endif
/* This struct is used to hold certain information about the image.
@@ -59,9 +41,10 @@ void syscall_init(void);
long do_syscall(void *cpu_env, 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)));
-struct CPUX86State;
-void cpu_loop(struct CPUX86State *env);
+extern CPUX86State *global_env;
+void cpu_loop(CPUX86State *env);
void process_pending_signals(void *cpu_env);
void signal_init(void);
+int queue_signal(int sig, target_siginfo_t *info);
#endif