qemu-irix/darwin-user/irix/target_syscall.h

59 lines
1.2 KiB
C

#ifndef IRIX_TARGET_SYSCALL_H
#define IRIX_TARGET_SYSCALL_H
#include "cpu.h"
/* this struct defines the way the registers are stored on the
stack during a system call. */
struct target_pt_regs {
/* Saved main processor registers. */
target_ulong regs[32];
/* Saved special registers. */
target_ulong cp0_status;
target_ulong lo;
target_ulong hi;
target_ulong cp0_badvaddr;
target_ulong cp0_cause;
target_ulong cp0_epc;
};
#define UNAME_MACHINE "irix"
#define UNAME_MINIMUM_RELEASE "2.6.32"
#define TARGET_FORCE_SHMLBA
static inline abi_ulong target_shmlba(CPUMIPSState *env)
{
return 0x40000;
}
/* IRIX sys/types.h */
typedef uint32_t target_ino_t;
typedef abi_long target_off_t;
/* IRIX sys/dirent.h */
struct target_dirent {
target_ino_t d_ino;
target_off_t d_off;
abi_ushort d_reclen;
char d_name[1];
};
/* size of struct target_dirent without the name array */
#define TARGET_DIRENT_LEN (offsetof(struct target_dirent, d_name))
/* IRIX sys/types.h */
typedef uint64_t target_ino64_t;
typedef uint64_t target_off64_t;
/* IRIX sys/dirent.h */
struct target_dirent64 {
target_ino64_t d_ino;
target_off64_t d_off;
abi_ushort d_reclen;
char d_name[1];
};
#endif