qemu/linux-user/ppc/target_syscall.h
<<
>>
Prefs
   1/*
   2 *  PPC emulation for qemu: syscall definitions.
   3 *
   4 *  Copyright (c) 2003 Jocelyn Mayer
   5 *
   6 * This library is free software; you can redistribute it and/or
   7 * modify it under the terms of the GNU Lesser General Public
   8 * License as published by the Free Software Foundation; either
   9 * version 2 of the License, or (at your option) any later version.
  10 *
  11 * This library is distributed in the hope that it will be useful,
  12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  14 * Lesser General Public License for more details.
  15 *
  16 * You should have received a copy of the GNU Lesser General Public
  17 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
  18 */
  19
  20#ifndef PPC_TARGET_SYSCALL_H
  21#define PPC_TARGET_SYSCALL_H
  22
  23/* XXX: ABSOLUTELY BUGGY:
  24 * for now, this is quite just a cut-and-paste from i386 target...
  25 */
  26
  27/* default linux values for the selectors */
  28#define __USER_DS       (1)
  29
  30struct target_pt_regs {
  31        abi_ulong gpr[32];
  32        abi_ulong nip;
  33        abi_ulong msr;
  34        abi_ulong orig_gpr3;    /* Used for restarting system calls */
  35        abi_ulong ctr;
  36        abi_ulong link;
  37        abi_ulong xer;
  38        abi_ulong ccr;
  39#if defined(TARGET_PPC64) && !defined(TARGET_ABI32)
  40        abi_ulong softe;
  41#else
  42        abi_ulong mq;           /* 601 only (not used at present) */
  43#endif
  44                                        /* Used on APUS to hold IPL value. */
  45        abi_ulong trap;         /* Reason for being here */
  46        abi_ulong dar;          /* Fault registers */
  47        abi_ulong dsisr;
  48        abi_ulong result;               /* Result of a system call */
  49};
  50
  51/* ioctls */
  52struct target_revectored_struct {
  53        abi_ulong __map[8];                     /* 256 bits */
  54};
  55
  56
  57/*
  58 * flags masks
  59 */
  60
  61#if defined(TARGET_PPC64) && !defined(TARGET_ABI32)
  62#ifdef TARGET_WORDS_BIGENDIAN
  63#define UNAME_MACHINE "ppc64"
  64#else
  65#define UNAME_MACHINE "ppc64le"
  66#endif
  67#else
  68#define UNAME_MACHINE "ppc"
  69#endif
  70#define UNAME_MINIMUM_RELEASE "2.6.32"
  71
  72#define TARGET_CLONE_BACKWARDS
  73
  74#define TARGET_MINSIGSTKSZ 2048
  75#define TARGET_MLOCKALL_MCL_CURRENT 0x2000
  76#define TARGET_MLOCKALL_MCL_FUTURE  0x4000
  77#define TARGET_WANT_NI_OLD_SELECT
  78
  79#endif /* PPC_TARGET_SYSCALL_H */
  80