qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

target_syscall.h (2033B)


      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.1 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 
     30 struct 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)
     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 */
     52 struct target_revectored_struct {
     53 	abi_ulong __map[8];			/* 256 bits */
     54 };
     55 
     56 
     57 /*
     58  * flags masks
     59  */
     60 
     61 #if defined(TARGET_PPC64)
     62 #if TARGET_BIG_ENDIAN
     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_MCL_CURRENT 0x2000
     75 #define TARGET_MCL_FUTURE  0x4000
     76 #define TARGET_MCL_ONFAULT 0x8000
     77 #define TARGET_WANT_NI_OLD_SELECT
     78 
     79 #endif /* PPC_TARGET_SYSCALL_H */