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

📄 cpu.h

📁 这个是LINUX下的GDB调度工具的源码
💻 H
📖 第 1 页 / 共 3 页
字号:
// OBSOLETE /* CPU family header for fr30bf.// OBSOLETE // OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN.// OBSOLETE // OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.// OBSOLETE // OBSOLETE This file is part of the GNU simulators.// OBSOLETE // OBSOLETE This program is free software; you can redistribute it and/or modify// OBSOLETE it under the terms of the GNU General Public License as published by// OBSOLETE the Free Software Foundation; either version 2, or (at your option)// OBSOLETE any later version.// OBSOLETE // OBSOLETE This program is distributed in the hope that it will be useful,// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the// OBSOLETE GNU General Public License for more details.// OBSOLETE // OBSOLETE You should have received a copy of the GNU General Public License along// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc.,// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.// OBSOLETE // OBSOLETE */// OBSOLETE // OBSOLETE #ifndef CPU_FR30BF_H// OBSOLETE #define CPU_FR30BF_H// OBSOLETE // OBSOLETE /* Maximum number of instructions that are fetched at a time.// OBSOLETE    This is for LIW type instructions sets (e.g. m32r).  */// OBSOLETE #define MAX_LIW_INSNS 1// OBSOLETE // OBSOLETE /* Maximum number of instructions that can be executed in parallel.  */// OBSOLETE #define MAX_PARALLEL_INSNS 1// OBSOLETE // OBSOLETE /* CPU state information.  */// OBSOLETE typedef struct {// OBSOLETE   /* Hardware elements.  */// OBSOLETE   struct {// OBSOLETE   /* program counter */// OBSOLETE   USI h_pc;// OBSOLETE #define GET_H_PC() CPU (h_pc)// OBSOLETE #define SET_H_PC(x) (CPU (h_pc) = (x))// OBSOLETE   /* general registers */// OBSOLETE   SI h_gr[16];// OBSOLETE #define GET_H_GR(a1) CPU (h_gr)[a1]// OBSOLETE #define SET_H_GR(a1, x) (CPU (h_gr)[a1] = (x))// OBSOLETE   /* coprocessor registers */// OBSOLETE   SI h_cr[16];// OBSOLETE #define GET_H_CR(a1) CPU (h_cr)[a1]// OBSOLETE #define SET_H_CR(a1, x) (CPU (h_cr)[a1] = (x))// OBSOLETE   /* dedicated registers */// OBSOLETE   SI h_dr[6];// OBSOLETE #define GET_H_DR(index) fr30bf_h_dr_get_handler (current_cpu, index)// OBSOLETE #define SET_H_DR(index, x) \// OBSOLETE do { \// OBSOLETE fr30bf_h_dr_set_handler (current_cpu, (index), (x));\// OBSOLETE ;} while (0)// OBSOLETE   /* processor status */// OBSOLETE   USI h_ps;// OBSOLETE #define GET_H_PS() fr30bf_h_ps_get_handler (current_cpu)// OBSOLETE #define SET_H_PS(x) \// OBSOLETE do { \// OBSOLETE fr30bf_h_ps_set_handler (current_cpu, (x));\// OBSOLETE ;} while (0)// OBSOLETE   /* General Register 13 explicitly required */// OBSOLETE   SI h_r13;// OBSOLETE #define GET_H_R13() CPU (h_r13)// OBSOLETE #define SET_H_R13(x) (CPU (h_r13) = (x))// OBSOLETE   /* General Register 14 explicitly required */// OBSOLETE   SI h_r14;// OBSOLETE #define GET_H_R14() CPU (h_r14)// OBSOLETE #define SET_H_R14(x) (CPU (h_r14) = (x))// OBSOLETE   /* General Register 15 explicitly required */// OBSOLETE   SI h_r15;// OBSOLETE #define GET_H_R15() CPU (h_r15)// OBSOLETE #define SET_H_R15(x) (CPU (h_r15) = (x))// OBSOLETE   /* negative         bit */// OBSOLETE   BI h_nbit;// OBSOLETE #define GET_H_NBIT() CPU (h_nbit)// OBSOLETE #define SET_H_NBIT(x) (CPU (h_nbit) = (x))// OBSOLETE   /* zero             bit */// OBSOLETE   BI h_zbit;// OBSOLETE #define GET_H_ZBIT() CPU (h_zbit)// OBSOLETE #define SET_H_ZBIT(x) (CPU (h_zbit) = (x))// OBSOLETE   /* overflow         bit */// OBSOLETE   BI h_vbit;// OBSOLETE #define GET_H_VBIT() CPU (h_vbit)// OBSOLETE #define SET_H_VBIT(x) (CPU (h_vbit) = (x))// OBSOLETE   /* carry            bit */// OBSOLETE   BI h_cbit;// OBSOLETE #define GET_H_CBIT() CPU (h_cbit)// OBSOLETE #define SET_H_CBIT(x) (CPU (h_cbit) = (x))// OBSOLETE   /* interrupt enable bit */// OBSOLETE   BI h_ibit;// OBSOLETE #define GET_H_IBIT() CPU (h_ibit)// OBSOLETE #define SET_H_IBIT(x) (CPU (h_ibit) = (x))// OBSOLETE   /* stack bit */// OBSOLETE   BI h_sbit;// OBSOLETE #define GET_H_SBIT() fr30bf_h_sbit_get_handler (current_cpu)// OBSOLETE #define SET_H_SBIT(x) \// OBSOLETE do { \// OBSOLETE fr30bf_h_sbit_set_handler (current_cpu, (x));\// OBSOLETE ;} while (0)// OBSOLETE   /* trace trap       bit */// OBSOLETE   BI h_tbit;// OBSOLETE #define GET_H_TBIT() CPU (h_tbit)// OBSOLETE #define SET_H_TBIT(x) (CPU (h_tbit) = (x))// OBSOLETE   /* division 0       bit */// OBSOLETE   BI h_d0bit;// OBSOLETE #define GET_H_D0BIT() CPU (h_d0bit)// OBSOLETE #define SET_H_D0BIT(x) (CPU (h_d0bit) = (x))// OBSOLETE   /* division 1       bit */// OBSOLETE   BI h_d1bit;// OBSOLETE #define GET_H_D1BIT() CPU (h_d1bit)// OBSOLETE #define SET_H_D1BIT(x) (CPU (h_d1bit) = (x))// OBSOLETE   /* condition code bits */// OBSOLETE   UQI h_ccr;// OBSOLETE #define GET_H_CCR() fr30bf_h_ccr_get_handler (current_cpu)// OBSOLETE #define SET_H_CCR(x) \// OBSOLETE do { \// OBSOLETE fr30bf_h_ccr_set_handler (current_cpu, (x));\// OBSOLETE ;} while (0)// OBSOLETE   /* system condition bits */// OBSOLETE   UQI h_scr;// OBSOLETE #define GET_H_SCR() fr30bf_h_scr_get_handler (current_cpu)// OBSOLETE #define SET_H_SCR(x) \// OBSOLETE do { \// OBSOLETE fr30bf_h_scr_set_handler (current_cpu, (x));\// OBSOLETE ;} while (0)// OBSOLETE   /* interrupt level mask */// OBSOLETE   UQI h_ilm;// OBSOLETE #define GET_H_ILM() fr30bf_h_ilm_get_handler (current_cpu)// OBSOLETE #define SET_H_ILM(x) \// OBSOLETE do { \// OBSOLETE fr30bf_h_ilm_set_handler (current_cpu, (x));\// OBSOLETE ;} while (0)// OBSOLETE   } hardware;// OBSOLETE #define CPU_CGEN_HW(cpu) (& (cpu)->cpu_data.hardware)// OBSOLETE } FR30BF_CPU_DATA;// OBSOLETE // OBSOLETE /* Cover fns for register access.  */// OBSOLETE USI fr30bf_h_pc_get (SIM_CPU *);// OBSOLETE void fr30bf_h_pc_set (SIM_CPU *, USI);// OBSOLETE SI fr30bf_h_gr_get (SIM_CPU *, UINT);// OBSOLETE void fr30bf_h_gr_set (SIM_CPU *, UINT, SI);// OBSOLETE SI fr30bf_h_cr_get (SIM_CPU *, UINT);// OBSOLETE void fr30bf_h_cr_set (SIM_CPU *, UINT, SI);// OBSOLETE SI fr30bf_h_dr_get (SIM_CPU *, UINT);// OBSOLETE void fr30bf_h_dr_set (SIM_CPU *, UINT, SI);// OBSOLETE USI fr30bf_h_ps_get (SIM_CPU *);// OBSOLETE void fr30bf_h_ps_set (SIM_CPU *, USI);// OBSOLETE SI fr30bf_h_r13_get (SIM_CPU *);// OBSOLETE void fr30bf_h_r13_set (SIM_CPU *, SI);// OBSOLETE SI fr30bf_h_r14_get (SIM_CPU *);// OBSOLETE void fr30bf_h_r14_set (SIM_CPU *, SI);// OBSOLETE SI fr30bf_h_r15_get (SIM_CPU *);// OBSOLETE void fr30bf_h_r15_set (SIM_CPU *, SI);// OBSOLETE BI fr30bf_h_nbit_get (SIM_CPU *);// OBSOLETE void fr30bf_h_nbit_set (SIM_CPU *, BI);// OBSOLETE BI fr30bf_h_zbit_get (SIM_CPU *);// OBSOLETE void fr30bf_h_zbit_set (SIM_CPU *, BI);// OBSOLETE BI fr30bf_h_vbit_get (SIM_CPU *);// OBSOLETE void fr30bf_h_vbit_set (SIM_CPU *, BI);// OBSOLETE BI fr30bf_h_cbit_get (SIM_CPU *);// OBSOLETE void fr30bf_h_cbit_set (SIM_CPU *, BI);// OBSOLETE BI fr30bf_h_ibit_get (SIM_CPU *);// OBSOLETE void fr30bf_h_ibit_set (SIM_CPU *, BI);// OBSOLETE BI fr30bf_h_sbit_get (SIM_CPU *);// OBSOLETE void fr30bf_h_sbit_set (SIM_CPU *, BI);// OBSOLETE BI fr30bf_h_tbit_get (SIM_CPU *);// OBSOLETE void fr30bf_h_tbit_set (SIM_CPU *, BI);// OBSOLETE BI fr30bf_h_d0bit_get (SIM_CPU *);// OBSOLETE void fr30bf_h_d0bit_set (SIM_CPU *, BI);// OBSOLETE BI fr30bf_h_d1bit_get (SIM_CPU *);// OBSOLETE void fr30bf_h_d1bit_set (SIM_CPU *, BI);// OBSOLETE UQI fr30bf_h_ccr_get (SIM_CPU *);// OBSOLETE void fr30bf_h_ccr_set (SIM_CPU *, UQI);// OBSOLETE UQI fr30bf_h_scr_get (SIM_CPU *);// OBSOLETE void fr30bf_h_scr_set (SIM_CPU *, UQI);// OBSOLETE UQI fr30bf_h_ilm_get (SIM_CPU *);// OBSOLETE void fr30bf_h_ilm_set (SIM_CPU *, UQI);// OBSOLETE // OBSOLETE /* These must be hand-written.  */// OBSOLETE extern CPUREG_FETCH_FN fr30bf_fetch_register;// OBSOLETE extern CPUREG_STORE_FN fr30bf_store_register;// OBSOLETE // OBSOLETE typedef struct {// OBSOLETE   UINT load_regs;// OBSOLETE   UINT load_regs_pending;// OBSOLETE } MODEL_FR30_1_DATA;// OBSOLETE // OBSOLETE /* Instruction argument buffer.  */// OBSOLETE // OBSOLETE union sem_fields {// OBSOLETE   struct { /* no operands */// OBSOLETE     int empty;// OBSOLETE   } fmt_empty;// OBSOLETE   struct { /*  */// OBSOLETE     IADDR i_label9;// OBSOLETE   } sfmt_brad;// OBSOLETE   struct { /*  */// OBSOLETE     UINT f_u8;// OBSOLETE   } sfmt_int;// OBSOLETE   struct { /*  */// OBSOLETE     IADDR i_label12;// OBSOLETE   } sfmt_call;// OBSOLETE   struct { /*  */// OBSOLETE     SI f_s10;// OBSOLETE     unsigned char in_h_gr_SI_15;// OBSOLETE     unsigned char out_h_gr_SI_15;// OBSOLETE   } sfmt_addsp;// OBSOLETE   struct { /*  */// OBSOLETE     USI f_dir10;// OBSOLETE     unsigned char in_h_gr_SI_15;// OBSOLETE     unsigned char out_h_gr_SI_15;// OBSOLETE   } sfmt_dmovr15pi;// OBSOLETE   struct { /*  */// OBSOLETE     UINT f_dir8;// OBSOLETE     unsigned char in_h_gr_SI_13;// OBSOLETE     unsigned char out_h_gr_SI_13;// OBSOLETE   } sfmt_dmovr13pib;// OBSOLETE   struct { /*  */// OBSOLETE     USI f_dir9;// OBSOLETE     unsigned char in_h_gr_SI_13;// OBSOLETE     unsigned char out_h_gr_SI_13;// OBSOLETE   } sfmt_dmovr13pih;// OBSOLETE   struct { /*  */// OBSOLETE     USI f_dir10;// OBSOLETE     unsigned char in_h_gr_SI_13;// OBSOLETE     unsigned char out_h_gr_SI_13;// OBSOLETE   } sfmt_dmovr13pi;// OBSOLETE   struct { /*  */// OBSOLETE     UINT f_Rs2;// OBSOLETE     unsigned char in_h_gr_SI_15;// OBSOLETE     unsigned char out_h_gr_SI_15;// OBSOLETE   } sfmt_ldr15dr;// OBSOLETE   struct { /*  */// OBSOLETE     SI* i_Ri;// OBSOLETE     UINT f_Ri;// OBSOLETE     UINT f_Rs1;// OBSOLETE     unsigned char in_Ri;// OBSOLETE   } sfmt_mov2dr;// OBSOLETE   struct { /*  */// OBSOLETE     SI* i_Ri;// OBSOLETE     UINT f_Ri;// OBSOLETE     UINT f_Rs1;// OBSOLETE     unsigned char out_Ri;// OBSOLETE   } sfmt_movdr;// OBSOLETE   struct { /*  */// OBSOLETE     SI* i_Ri;// OBSOLETE     UINT f_Ri;// OBSOLETE     UINT f_i32;// OBSOLETE     unsigned char out_Ri;// OBSOLETE   } sfmt_ldi32;// OBSOLETE   struct { /*  */// OBSOLETE     SI* i_Ri;// OBSOLETE     UINT f_Ri;// OBSOLETE     UINT f_i20;// OBSOLETE     unsigned char out_Ri;// OBSOLETE   } sfmt_ldi20;// OBSOLETE   struct { /*  */// OBSOLETE     SI* i_Ri;// OBSOLETE     UINT f_Ri;// OBSOLETE     UINT f_i8;// OBSOLETE     unsigned char out_Ri;// OBSOLETE   } sfmt_ldi8;// OBSOLETE   struct { /*  */// OBSOLETE     USI f_u10;// OBSOLETE     unsigned char in_h_gr_SI_14;// OBSOLETE     unsigned char in_h_gr_SI_15;// OBSOLETE     unsigned char out_h_gr_SI_14;// OBSOLETE     unsigned char out_h_gr_SI_15;// OBSOLETE   } sfmt_enter;// OBSOLETE   struct { /*  */// OBSOLETE     SI* i_Ri;// OBSOLETE     UINT f_Ri;// OBSOLETE     unsigned char in_Ri;// OBSOLETE     unsigned char in_h_gr_SI_15;// OBSOLETE     unsigned char out_h_gr_SI_15;// OBSOLETE   } sfmt_str15gr;// OBSOLETE   struct { /*  */// OBSOLETE     SI* i_Ri;// OBSOLETE     UINT f_Ri;// OBSOLETE     USI f_udisp6;// OBSOLETE     unsigned char in_Ri;// OBSOLETE     unsigned char in_h_gr_SI_15;// OBSOLETE   } sfmt_str15;// OBSOLETE   struct { /*  */// OBSOLETE     SI* i_Ri;// OBSOLETE     INT f_disp8;// OBSOLETE     UINT f_Ri;// OBSOLETE     unsigned char in_Ri;// OBSOLETE     unsigned char in_h_gr_SI_14;// OBSOLETE   } sfmt_str14b;// OBSOLETE   struct { /*  */// OBSOLETE     SI* i_Ri;// OBSOLETE     SI f_disp9;

⌨️ 快捷键说明

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