⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s390-regs-common.h

📁 Linux内核源代码 为压缩文件 是<<Linux内核>>一书中的源代码
💻 H
字号:
/* *  include/asm-s390/s390-regs-common.h * *  S390 version *    Copyright (C) 1999,2000 IBM Deutschland Entwicklung GmbH, IBM Corporation *    Author(s): Denis Joseph Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com) * *  this file is designed to keep as much compatibility between *  gdb's representation of registers & the kernels representation of registers *  as possible so as to minimise translation between gdb registers & *  kernel registers please keep this matched with gdb & strace  */#ifndef _S390_REGS_COMMON_H#define _S390_REGS_COMMON_H#ifndef __ASSEMBLY__#include <asm/types.h>#endif#define REGISTER_SIZE 4#define NUM_GPRS      16#define GPR_SIZE      4#define PSW_MASK_SIZE 4#define PSW_ADDR_SIZE 4#define NUM_FPRS      16#define FPR_SIZE      8#define FPC_SIZE      4#define FPC_PAD_SIZE  4 /* gcc insists on aligning the fpregs */#define NUM_CRS       16#define CR_SIZE       4#define NUM_ACRS      16#define ACR_SIZE      4#define STACK_FRAME_OVERHEAD    96      /* size of minimum stack frame */#ifndef __ASSEMBLY__/* this typedef defines how a Program Status Word looks like */typedef struct {        __u32   mask;        __u32   addr;} psw_t __attribute__ ((aligned(8)));typedef __u32 gpr_t;/* 2 __u32's are used for floats instead to compile  with a __STRICT_ANSI__ defined */ typedef union{#ifdef __KERNEL__ 	__u64   d; /* mathemu.h gets upset otherwise */#else	double  d; /* ansi c dosen't like long longs & make sure that */	/* alignments are identical for both compiles */ #endif       struct       {	       __u32 hi;	       __u32 lo;       } fp;       __u32    f; } freg_t;typedef struct{/*  The compiler appears to like aligning freg_t on an 8 byte boundary  so I always access fpregs, this was causing fun when I was doing  coersions. */	__u32   fpc;	freg_t  fprs[NUM_FPRS];              } s390_fp_regs;/*  gdb structures & the kernel have this much always in common */#define S390_REGS_COMMON       \psw_t psw;                     \__u32 gprs[NUM_GPRS];          \__u32  acrs[NUM_ACRS];         \typedef struct{	S390_REGS_COMMON} s390_regs_common;/* Sequence of bytes for breakpoint illegal instruction.  */#define S390_BREAKPOINT {0x0,0x1}#define S390_BREAKPOINT_U16 ((__u16)0x0001)#define S390_SYSCALL_OPCODE ((__u16)0x0a00)#define S390_SYSCALL_SIZE   2#define ADDR_BITS_REMOVE(addr) ((addr)&0x7fffffff)#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -