cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

target_syscall.h (2125B)


      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
     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_MCL_CURRENT 0x2000
     76#define TARGET_MCL_FUTURE  0x4000
     77#define TARGET_MCL_ONFAULT 0x8000
     78#define TARGET_WANT_NI_OLD_SELECT
     79
     80#endif /* PPC_TARGET_SYSCALL_H */