summary refs log tree commit diff stats
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)
downloadfocaccia-qemu-9de5e440b9f6a6c6305c0b81d1df4ddcc5a4b966.tar.gz
focaccia-qemu-9de5e440b9f6a6c6305c0b81d1df4ddcc5a4b966.zip
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