diff options
author | blueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-10-14 16:27:31 +0000 |
---|---|---|
committer | blueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-10-14 16:27:31 +0000 |
commit | 992f48a036cccf7101e31bf3e5d901ce5320e886 (patch) | |
tree | 5b7931bab0c9d92c266f87c0457b864cdd8b256b /linux-user/i386 | |
parent | b227a8e9aa5f27d29f77ba90d5eb9d0662a1175e (diff) |
Support for 32 bit ABI on 64 bit targets (only enabled Sparc64)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3396 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'linux-user/i386')
-rw-r--r-- | linux-user/i386/syscall.h | 48 | ||||
-rw-r--r-- | linux-user/i386/target_signal.h | 8 |
2 files changed, 28 insertions, 28 deletions
diff --git a/linux-user/i386/syscall.h b/linux-user/i386/syscall.h index 6e288b8041..8045e1c7bf 100644 --- a/linux-user/i386/syscall.h +++ b/linux-user/i386/syscall.h @@ -31,7 +31,7 @@ struct target_pt_regs { struct target_modify_ldt_ldt_s { unsigned int entry_number; - target_ulong base_addr; + abi_ulong base_addr; unsigned int limit; unsigned int flags; }; @@ -79,22 +79,22 @@ struct target_vm86_regs { /* * normal regs, with special meaning for the segment descriptors.. */ - target_long ebx; - target_long ecx; - target_long edx; - target_long esi; - target_long edi; - target_long ebp; - target_long eax; - target_long __null_ds; - target_long __null_es; - target_long __null_fs; - target_long __null_gs; - target_long orig_eax; - target_long eip; + abi_long ebx; + abi_long ecx; + abi_long edx; + abi_long esi; + abi_long edi; + abi_long ebp; + abi_long eax; + abi_long __null_ds; + abi_long __null_es; + abi_long __null_fs; + abi_long __null_gs; + abi_long orig_eax; + abi_long eip; unsigned short cs, __csh; - target_long eflags; - target_long esp; + abi_long eflags; + abi_long esp; unsigned short ss, __ssh; /* * these are specific to v86 mode: @@ -106,14 +106,14 @@ struct target_vm86_regs { }; struct target_revectored_struct { - target_ulong __map[8]; /* 256 bits */ + abi_ulong __map[8]; /* 256 bits */ }; struct target_vm86_struct { struct target_vm86_regs regs; - target_ulong flags; - target_ulong screen_bitmap; - target_ulong cpu_type; + abi_ulong flags; + abi_ulong screen_bitmap; + abi_ulong cpu_type; struct target_revectored_struct int_revectored; struct target_revectored_struct int21_revectored; }; @@ -124,7 +124,7 @@ struct target_vm86_struct { #define TARGET_VM86_SCREEN_BITMAP 0x0001 struct target_vm86plus_info_struct { - target_ulong flags; + abi_ulong flags; #define TARGET_force_return_for_pic (1 << 0) #define TARGET_vm86dbg_active (1 << 1) /* for debugger */ #define TARGET_vm86dbg_TFpendig (1 << 2) /* for debugger */ @@ -134,9 +134,9 @@ struct target_vm86plus_info_struct { struct target_vm86plus_struct { struct target_vm86_regs regs; - target_ulong flags; - target_ulong screen_bitmap; - target_ulong cpu_type; + abi_ulong flags; + abi_ulong screen_bitmap; + abi_ulong cpu_type; struct target_revectored_struct int_revectored; struct target_revectored_struct int21_revectored; struct target_vm86plus_info_struct vm86plus; diff --git a/linux-user/i386/target_signal.h b/linux-user/i386/target_signal.h index f93a8d62b9..9baf7fbeb5 100644 --- a/linux-user/i386/target_signal.h +++ b/linux-user/i386/target_signal.h @@ -6,9 +6,9 @@ /* this struct defines a stack used during syscall handling */ typedef struct target_sigaltstack { - target_ulong ss_sp; - target_long ss_flags; - target_ulong ss_size; + abi_ulong ss_sp; + abi_long ss_flags; + abi_ulong ss_size; } target_stack_t; @@ -21,7 +21,7 @@ typedef struct target_sigaltstack { #define TARGET_MINSIGSTKSZ 2048 #define TARGET_SIGSTKSZ 8192 -static inline target_ulong get_sp_from_cpustate(CPUX86State *state) +static inline abi_ulong get_sp_from_cpustate(CPUX86State *state) { return state->regs[R_ESP]; } |