📄 var_regs.h
字号:
#ifndef CYGONCE_HAL_VAR_REGS_H#define CYGONCE_HAL_VAR_REGS_H//==========================================================================//// var_regs.h//// PowerPC 8xx variant CPU definitions////==========================================================================//####COPYRIGHTBEGIN####// // ------------------------------------------- // The contents of this file are subject to the Red Hat eCos Public License // Version 1.1 (the "License"); you may not use this file except in // compliance with the License. You may obtain a copy of the License at // http://www.redhat.com/ // // Software distributed under the License is distributed on an "AS IS" // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the // License for the specific language governing rights and limitations under // the License. // // The Original Code is eCos - Embedded Configurable Operating System, // released September 30, 1998. // // The Initial Developer of the Original Code is Red Hat. // Portions created by Red Hat are // Copyright (C) 1998, 1999, 2000 Red Hat, Inc. // All Rights Reserved. // ------------------------------------------- // //####COPYRIGHTEND####//==========================================================================//#####DESCRIPTIONBEGIN####//// Author(s): jskov// Contributors: jskov// Date: 2000-02-04// Purpose: Provide MPC8xx register definitions// Description: Provide MPC8xx register definitions// The short difinitions (sans CYGARC_REG_) are exported only// if CYGARC_HAL_COMMON_EXPORT_CPU_MACROS is defined.// Usage: Included via the acrhitecture register header:// #include <cyg/hal/ppc_regs.h>// ...// ////####DESCRIPTIONEND####////==========================================================================//--------------------------------------------------------------------------// Instruction cache control.#define CYGARC_REG_IC_CST 560#define CYGARC_REG_IC_ADR 561#define CYGARC_REG_IC_DAT 562#define CYGARC_REG_IC_CMD_CE 0x02000000 // cache enable#define CYGARC_REG_IC_CMD_CD 0x04000000 // cache disable#define CYGARC_REG_IC_CMD_LL 0x06000000 // load & lock#define CYGARC_REG_IC_CMD_UL 0x08000000 // unlock line#define CYGARC_REG_IC_CMD_UA 0x0a000000 // unlock all#define CYGARC_REG_IC_CMD_IA 0x0c000000 // invalidate all#define CYGARC_REG_IC_ADR_SETID_SHIFT 4 // set id is bits 21-27#define CYGARC_REG_IC_ADR_WAY0 0x00000000 // select way0#define CYGARC_REG_IC_ADR_WAY1 0x00001000 // select way1#ifdef CYGARC_HAL_COMMON_EXPORT_CPU_MACROS#define IC_CST CYGARC_REG_IC_CST#define IC_ADR CYGARC_REG_IC_ADR#define IC_DAT CYGARC_REG_IC_DAT#define IC_CMD_CE CYGARC_REG_IC_CMD_CE#define IC_CMD_CD CYGARC_REG_IC_CMD_CD#define IC_CMD_LL CYGARC_REG_IC_CMD_LL#define IC_CMD_UL CYGARC_REG_IC_CMD_UL#define IC_CMD_UA CYGARC_REG_IC_CMD_UA#define IC_CMD_IA CYGARC_REG_IC_CMD_IA#define IC_ADR_SETID_SHIFT CYGARC_REG_IC_ADR_SETID_SHIFT#define IC_ADR_WAY0 CYGARC_REG_IC_ADR_WAY0#define IC_ADR_WAY1 CYGARC_REG_IC_ADR_WAY1#endif // ifdef CYGARC_HAL_COMMON_EXPORT_CPU_MACROS//--------------------------------------------------------------------------// Data cache control.#define CYGARC_REG_DC_CST 568#define CYGARC_REG_DC_ADR 569#define CYGARC_REG_DC_DAT 570#define CYGARC_REG_DC_CMD_CE 0x02000000 // cache enable#define CYGARC_REG_DC_CMD_CD 0x04000000 // cache disable#define CYGARC_REG_DC_CMD_LL 0x06000000 // lock line#define CYGARC_REG_DC_CMD_UL 0x08000000 // unlock line#define CYGARC_REG_DC_CMD_UA 0x0a000000 // unlock all#define CYGARC_REG_DC_CMD_IA 0x0c000000 // invalidate all#define CYGARC_REG_DC_CMD_FL 0x0e000000 // flush line#define CYGARC_REG_DC_CMD_SW 0x01000000 // set writethrough#define CYGARC_REG_DC_CMD_CW 0x03000000 // clear writethrough#define CYGARC_REG_DC_CMD_SS 0x05000000 // set little endian swap#define CYGARC_REG_DC_CMD_CS 0x07000000 // clear little endian swap#define CYGARC_REG_DC_ADR_SETID_SHIFT 4 // set id is bits 21-27#define CYGARC_REG_DC_ADR_WAY0 0x00000000 // select way0#define CYGARC_REG_DC_ADR_WAY1 0x00001000 // select way1#ifdef CYGARC_HAL_COMMON_EXPORT_CPU_MACROS#define DC_CST CYGARC_REG_DC_CST#define DC_ADR CYGARC_REG_DC_ADR#define DC_DAT CYGARC_REG_DC_DAT#define DC_CMD_CE CYGARC_REG_DC_CMD_CE#define DC_CMD_CD CYGARC_REG_DC_CMD_CD#define DC_CMD_LL CYGARC_REG_DC_CMD_LL#define DC_CMD_UL CYGARC_REG_DC_CMD_UL#define DC_CMD_UA CYGARC_REG_DC_CMD_UA#define DC_CMD_IA CYGARC_REG_DC_CMD_IA#define DC_CMD_FL CYGARC_REG_DC_CMD_FL#define DC_CMD_SW CYGARC_REG_DC_CMD_SW#define DC_CMD_CW CYGARC_REG_DC_CMD_CW#define DC_CMD_SS CYGARC_REG_DC_CMD_SS#define DC_CMD_CS CYGARC_REG_DC_CMD_CS#define DC_ADR_SETID_SHIFT CYGARC_REG_DC_ADR_SETID_SHIFT#define DC_ADR_WAY0 CYGARC_REG_DC_ADR_WAY0#define DC_ADR_WAY1 CYGARC_REG_DC_ADR_WAY1#endif // ifdef CYGARC_HAL_COMMON_EXPORT_CPU_MACROS//--------------------------------------------------------------------------// MMU control.#ifdef CYGARC_HAL_COMMON_EXPORT_CPU_MACROS#define M_CASID 793 // current address space id register#define MI_CTR 784 // instruction MMU control#define MI_EPN 787 // instruction MMU effective page num#define MI_TWC 789 // instruction MMU tablewalk count#define MI_RPN 790 // instruction MMU real page num#define MI_DCAM 816 // instruction MMU CAM read#define MI_DRAM0 817 // instruction MMU RAM read 0#define MI_DRAM1 818 // instruction MMU RAM read 1#define MI_EPN_EPNMASK 0xfffff000 // effective page no mask#define MI_EPN_EV 0x00000200 // entry valid#define MI_RPN_RPNMASK 0xfffff000 // real page no mask#define MI_RPN_PPRWRW 0x000008f0 // page protection (rw/rw, page valid)#define MI_RPN_LPS 0x00000008 // large page size#define MI_RPN_SH 0x00000004 // shared page (1 = no ASID cmp)#define MI_RPN_CI 0x00000002 // cache inhibited#define MI_RPN_V 0x00000001 // entry valid#define MI_TWC_PS8MB 0x0000000c // page size = 8MB#define MI_TWC_G 0x00000010 // guarded#define MI_TWC_WT 0x00000002 // writethrough#define MI_TWC_V 0x00000001 // entry valid#define MI_CTR_INDX_SHIFT 8 // the ITLB_INDX starts at bit 23#define MD_CTR 792 // data MMU control#define MD_EPN 795 // data MMU effective page num#define MD_TWC 797 // data MMU tablewalk count#define MD_RPN 798 // data MMU real page num#define MD_DCAM 824 // data MMU CAM read#define MD_DRAM0 825 // data MMU RAM read 0#define MD_DRAM1 826 // data MMU RAM read 1#define MD_RPN_CHANGED 0x00000100 // page changed#endif // ifdef CYGARC_HAL_COMMON_EXPORT_CPU_MACROS//--------------------------------------------------------------------------// Internal Memory Map.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -