Various linux-user structures and definitions fixes for PowerPC targets.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3800 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
j_mayer 2007-12-10 08:24:59 +00:00
parent e9b34b3741
commit e32448e059
4 changed files with 45 additions and 33 deletions

View file

@ -26,20 +26,24 @@
#define __USER_DS (1)
struct target_pt_regs {
unsigned long gpr[32];
unsigned long nip;
unsigned long msr;
unsigned long orig_gpr3; /* Used for restarting system calls */
unsigned long ctr;
unsigned long link;
unsigned long xer;
unsigned long ccr;
unsigned long mq; /* 601 only (not used at present) */
abi_ulong gpr[32];
abi_ulong nip;
abi_ulong msr;
abi_ulong orig_gpr3; /* Used for restarting system calls */
abi_ulong ctr;
abi_ulong link;
abi_ulong xer;
abi_ulong ccr;
#if defined(TARGET_PPC64) && !defined(TARGET_ABI32)
abi_ulong softe;
#else
abi_ulong mq; /* 601 only (not used at present) */
#endif
/* Used on APUS to hold IPL value. */
unsigned long trap; /* Reason for being here */
unsigned long dar; /* Fault registers */
unsigned long dsisr;
unsigned long result; /* Result of a system call */
abi_ulong trap; /* Reason for being here */
abi_ulong dar; /* Fault registers */
abi_ulong dsisr;
abi_ulong result; /* Result of a system call */
};
/* ioctls */

View file

@ -7,7 +7,7 @@
typedef struct target_sigaltstack {
abi_ulong ss_sp;
abi_long ss_flags;
int ss_flags;
abi_ulong ss_size;
} target_stack_t;

View file

@ -109,12 +109,21 @@
#define TARGET_SO_LINGER 13
#define TARGET_SO_BSDCOMPAT 14
/* To add :#define TARGET_SO_REUSEPORT 15 */
#if defined(TARGET_PPC)
#define TARGET_SO_RCVLOWAT 16
#define TARGET_SO_SNDLOWAT 17
#define TARGET_SO_RCVTIMEO 18
#define TARGET_SO_SNDTIMEO 19
#define TARGET_SO_PASSCRED 20
#define TARGET_SO_PEERCRED 21
#else
#define TARGET_SO_PASSCRED 16
#define TARGET_SO_PEERCRED 17
#define TARGET_SO_RCVLOWAT 18
#define TARGET_SO_SNDLOWAT 19
#define TARGET_SO_RCVTIMEO 20
#define TARGET_SO_SNDTIMEO 21
#endif
/* Security levels - as per NRL IPv6 - don't actually do anything */
#define TARGET_SO_SECURITY_AUTHENTICATION 22

View file

@ -1086,10 +1086,10 @@ struct target_stat64 {
#elif defined(TARGET_PPC)
struct target_stat {
unsigned short st_dev;
abi_ulong st_dev;
abi_ulong st_ino;
#if defined(TARGET_PPC64) && !defined(TARGET_ABI32)
unsigned short st_nlink;
abi_ulong st_nlink;
unsigned int st_mode;
#else
unsigned int st_mode;
@ -1097,16 +1097,16 @@ struct target_stat {
#endif
unsigned int st_uid;
unsigned int st_gid;
unsigned short st_rdev;
abi_ulong st_rdev;
abi_ulong st_size;
abi_ulong st_blksize;
abi_ulong st_blocks;
abi_ulong target_st_atime;
abi_ulong __unused1;
abi_ulong target_st_atime_nsec;
abi_ulong target_st_mtime;
abi_ulong __unused2;
abi_ulong target_st_mtime_nsec;
abi_ulong target_st_ctime;
abi_ulong __unused3;
abi_ulong target_st_ctime_nsec;
abi_ulong __unused4;
abi_ulong __unused5;
#if defined(TARGET_PPC64) && !defined(TARGET_ABI32)
@ -1122,19 +1122,18 @@ struct target_stat64 {
unsigned int st_uid;
unsigned int st_gid;
unsigned long long st_rdev;
long long pad0;
long long st_size;
abi_ulong st_blksize;
abi_ulong pad1;
long long st_blocks; /* Number 512-byte blocks allocated. */
abi_ulong target_st_atime;
abi_ulong target_st_atime_nsec;
abi_ulong target_st_mtime;
abi_ulong target_st_mtime_nsec;
abi_ulong target_st_ctime;
abi_ulong target_st_ctime_nsec;
abi_ulong __unused4;
abi_ulong __unused5;
unsigned short pad0;
long long st_size;
int st_blksize;
long long st_blocks; /* Number 512-byte blocks allocated. */
int target_st_atime;
unsigned int target_st_atime_nsec;
int target_st_mtime;
unsigned int target_st_mtime_nsec;
int target_st_ctime;
unsigned int target_st_ctime_nsec;
unsigned int __unused4;
unsigned int __unused5;
};
#elif defined(TARGET_M68K)