📄 processor.h
字号:
#define SPRN_PBL1 0x3FC /* Protection Bound Lower 1 */#define SPRN_PBL2 0x3FE /* Protection Bound Lower 2 */#define SPRN_PBU1 0x3FD /* Protection Bound Upper 1 */#define SPRN_PBU2 0x3FF /* Protection Bound Upper 2 */#ifndef CONFIG_BOOKE#define SPRN_PID 0x3B1 /* Process ID */#define SPRN_PIR 0x3FF /* Processor Identification Register */#else#define SPRN_PID 0x030 /* Book E Process ID */#define SPRN_PIR 0x11E /* Book E Processor Identification Register */#endif /* CONFIG_BOOKE */#define SPRN_PIT 0x3DB /* Programmable Interval Timer */#define SPRN_PMC1 0x3B9 /* Performance Counter Register 1 */#define SPRN_PMC2 0x3BA /* Performance Counter Register 2 */#define SPRN_PMC3 0x3BD /* Performance Counter Register 3 */#define SPRN_PMC4 0x3BE /* Performance Counter Register 4 */#define SPRN_PVR 0x11F /* Processor Version Register */#define SPRN_RPA 0x3D6 /* Required Physical Address Register */#define SPRN_SDA 0x3BF /* Sampled Data Address Register */#define SPRN_SDR1 0x019 /* MMU Hash Base Register */#define SPRN_SGR 0x3B9 /* Storage Guarded Register */#define SGR_NORMAL 0#define SGR_GUARDED 1#define SPRN_SIA 0x3BB /* Sampled Instruction Address Register */#define SPRN_SPRG0 0x110 /* Special Purpose Register General 0 */#define SPRN_SPRG1 0x111 /* Special Purpose Register General 1 */#define SPRN_SPRG2 0x112 /* Special Purpose Register General 2 */#define SPRN_SPRG3 0x113 /* Special Purpose Register General 3 */#define SPRN_SRR0 0x01A /* Save/Restore Register 0 */#define SPRN_SRR1 0x01B /* Save/Restore Register 1 */#define SPRN_SRR2 0x3DE /* Save/Restore Register 2 */#define SPRN_SRR3 0x3DF /* Save/Restore Register 3 */#ifdef CONFIG_BOOKE#define SPRN_SVR 0x3FF /* System Version Register */#else#define SPRN_SVR 0x11E /* System Version Register */#endif#define SPRN_TBHI 0x3DC /* Time Base High */#define SPRN_TBHU 0x3CC /* Time Base High User-mode */#define SPRN_TBLO 0x3DD /* Time Base Low */#define SPRN_TBLU 0x3CD /* Time Base Low User-mode */#define SPRN_TBRL 0x10C /* Time Base Read Lower Register */#define SPRN_TBRU 0x10D /* Time Base Read Upper Register */#define SPRN_TBWL 0x11C /* Time Base Write Lower Register */#define SPRN_TBWU 0x11D /* Time Base Write Upper Register */#ifndef CONFIG_BOOKE#define SPRN_TCR 0x3DA /* Timer Control Register */#else#define SPRN_TCR 0x154 /* Book E Timer Control Register */#endif /* CONFIG_BOOKE */#define TCR_WP(x) (((x)&0x3)<<30) /* WDT Period */#define WP_2_17 0 /* 2^17 clocks */#define WP_2_21 1 /* 2^21 clocks */#define WP_2_25 2 /* 2^25 clocks */#define WP_2_29 3 /* 2^29 clocks */#define TCR_WRC(x) (((x)&0x3)<<28) /* WDT Reset Control */#define WRC_NONE 0 /* No reset will occur */#define WRC_CORE 1 /* Core reset will occur */#define WRC_CHIP 2 /* Chip reset will occur */#define WRC_SYSTEM 3 /* System reset will occur */#define TCR_WIE 0x08000000 /* WDT Interrupt Enable */#define TCR_PIE 0x04000000 /* PIT Interrupt Enable */#define TCR_FP(x) (((x)&0x3)<<24) /* FIT Period */#define FP_2_9 0 /* 2^9 clocks */#define FP_2_13 1 /* 2^13 clocks */#define FP_2_17 2 /* 2^17 clocks */#define FP_2_21 3 /* 2^21 clocks */#define TCR_FIE 0x00800000 /* FIT Interrupt Enable */#define TCR_ARE 0x00400000 /* Auto Reload Enable */#define SPRN_THRM1 0x3FC /* Thermal Management Register 1 */#define THRM1_TIN (1<<0)#define THRM1_TIV (1<<1)#define THRM1_THRES (0x7f<<2)#define THRM1_TID (1<<29)#define THRM1_TIE (1<<30)#define THRM1_V (1<<31)#define SPRN_THRM2 0x3FD /* Thermal Management Register 2 */#define SPRN_THRM3 0x3FE /* Thermal Management Register 3 */#define THRM3_E (1<<31)#define SPRN_TLBMISS 0x3D4 /* 980 7450 TLB Miss Register */#ifndef CONFIG_BOOKE#define SPRN_TSR 0x3D8 /* Timer Status Register */#else#define SPRN_TSR 0x150 /* Book E Timer Status Register */#endif /* CONFIG_BOOKE */#define TSR_ENW 0x80000000 /* Enable Next Watchdog */#define TSR_WIS 0x40000000 /* WDT Interrupt Status */#define TSR_WRS(x) (((x)&0x3)<<28) /* WDT Reset Status */#define WRS_NONE 0 /* No WDT reset occurred */#define WRS_CORE 1 /* WDT forced core reset */#define WRS_CHIP 2 /* WDT forced chip reset */#define WRS_SYSTEM 3 /* WDT forced system reset */#define TSR_PIS 0x08000000 /* PIT Interrupt Status */#define TSR_FIS 0x04000000 /* FIT Interrupt Status */#define SPRN_UMMCR0 0x3A8 /* User Monitor Mode Control Register 0 */#define SPRN_UMMCR1 0x3AC /* User Monitor Mode Control Register 0 */#define SPRN_UPMC1 0x3A9 /* User Performance Counter Register 1 */#define SPRN_UPMC2 0x3AA /* User Performance Counter Register 2 */#define SPRN_UPMC3 0x3AD /* User Performance Counter Register 3 */#define SPRN_UPMC4 0x3AE /* User Performance Counter Register 4 */#define SPRN_USIA 0x3AB /* User Sampled Instruction Address Register */#define SPRN_XER 0x001 /* Fixed Point Exception Register */#define SPRN_ZPR 0x3B0 /* Zone Protection Register *//* Book E definitions */#define SPRN_DECAR 0x036 /* Decrementer Auto Reload Register */#define SPRN_CSRR0 0x03A /* Critical SRR0 */#define SPRN_CSRR1 0x03B /* Critical SRR0 */#define SPRN_IVPR 0x03F /* Interrupt Vector Prefix Register */#define SPRN_USPRG0 0x100 /* User Special Purpose Register General 0 */#define SPRN_SPRG4R 0x104 /* Special Purpose Register General 4 Read */#define SPRN_SPRG5R 0x105 /* Special Purpose Register General 5 Read */#define SPRN_SPRG6R 0x106 /* Special Purpose Register General 6 Read */#define SPRN_SPRG7R 0x107 /* Special Purpose Register General 7 Read */#define SPRN_SPRG4W 0x114 /* Special Purpose Register General 4 Write */#define SPRN_SPRG5W 0x115 /* Special Purpose Register General 5 Write */#define SPRN_SPRG6W 0x116 /* Special Purpose Register General 6 Write */#define SPRN_SPRG7W 0x117 /* Special Purpose Register General 7 Write */#define SPRN_DBCR2 0x136 /* Debug Control Register 2 */#define SPRN_IAC3 0x13A /* Instruction Address Compare 3 */#define SPRN_IAC4 0x13B /* Instruction Address Compare 4 */#define SPRN_DVC1 0x13E /* Data Value Compare Register 1 */#define SPRN_DVC2 0x13F /* Data Value Compare Register 2 */#define SPRN_IVOR0 0x190 /* Interrupt Vector Offset Register 0 */#define SPRN_IVOR1 0x191 /* Interrupt Vector Offset Register 1 */#define SPRN_IVOR2 0x192 /* Interrupt Vector Offset Register 2 */#define SPRN_IVOR3 0x193 /* Interrupt Vector Offset Register 3 */#define SPRN_IVOR4 0x194 /* Interrupt Vector Offset Register 4 */#define SPRN_IVOR5 0x195 /* Interrupt Vector Offset Register 5 */#define SPRN_IVOR6 0x196 /* Interrupt Vector Offset Register 6 */#define SPRN_IVOR7 0x197 /* Interrupt Vector Offset Register 7 */#define SPRN_IVOR8 0x198 /* Interrupt Vector Offset Register 8 */#define SPRN_IVOR9 0x199 /* Interrupt Vector Offset Register 9 */#define SPRN_IVOR10 0x19a /* Interrupt Vector Offset Register 10 */#define SPRN_IVOR11 0x19b /* Interrupt Vector Offset Register 11 */#define SPRN_IVOR12 0x19c /* Interrupt Vector Offset Register 12 */#define SPRN_IVOR13 0x19d /* Interrupt Vector Offset Register 13 */#define SPRN_IVOR14 0x19e /* Interrupt Vector Offset Register 14 */#define SPRN_IVOR15 0x19f /* Interrupt Vector Offset Register 15 *//* e500 definitions */#define SPRN_L1CSR0 0x3f2 /* L1 Cache Control and Status Register 0 */#define L1CSR0_DCFI 0x00000002 /* Data Cache Flash Invalidate */#define L1CSR0_DCE 0x00000001 /* Data Cache Enable */#define SPRN_L1CSR1 0x3f3 /* L1 Cache Control and Status Register 1 */#define L1CSR1_ICFI 0x00000002 /* Instruction Cache Flash Invalidate */#define L1CSR1_ICE 0x00000001 /* Instruction Cache Enable */#define SPRN_MMUCSR0 0x3f4 /* MMU control and status register 0 */#define SPRN_MAS0 0x270 /* MMU Assist Register 0 */#define SPRN_MAS1 0x271 /* MMU Assist Register 1 */#define SPRN_MAS2 0x272 /* MMU Assist Register 2 */#define SPRN_MAS3 0x273 /* MMU Assist Register 3 */#define SPRN_MAS4 0x274 /* MMU Assist Register 4 */#define SPRN_MAS5 0x275 /* MMU Assist Register 5 */#define SPRN_MAS6 0x276 /* MMU Assist Register 6 */#define SPRN_MAS7 0x3B0 /* MMU Assist Register 7 */#define SPRN_IVOR32 0x210 /* Interrupt Vector Offset Register 32 */#define SPRN_IVOR33 0x211 /* Interrupt Vector Offset Register 33 */#define SPRN_IVOR34 0x212 /* Interrupt Vector Offset Register 34 */#define SPRN_IVOR35 0x213 /* Interrupt Vector Offset Register 35 */#define SPRN_SPEFSCR 0x200 /* SPE & Embedded FP Status & Control */#define SPRN_MCSRR0 0x23a /* Machine Check Save and Restore Register 0 */#define SPRN_MCSRR1 0x23b /* Machine Check Save and Restore Register 1 */#define SPRN_BUCSR 0x3f5 /* Branch Control and Status Register */#define SPRN_BBEAR 0x201 /* Branch Buffer Entry Address Register */#define SPRN_BBTAR 0x202 /* Branch Buffer Target Address Register */#define SPRN_PID1 0x279 /* Process ID Register 1 */#define SPRN_PID2 0x27a /* Process ID Register 2 */#define SPRN_MCSR 0x23c /* Machine Check Syndrome register */#define ESR_ST 0x00800000 /* Store Operation */#if defined(CONFIG_MPC86xx)#define SPRN_MSSCRO 0x3f6#endif/* Short-hand versions for a number of the above SPRNs */#define CTR SPRN_CTR /* Counter Register */#define DAR SPRN_DAR /* Data Address Register */#define DABR SPRN_DABR /* Data Address Breakpoint Register */#define DAC1 SPRN_DAC1 /* Data Address Register 1 */#define DAC2 SPRN_DAC2 /* Data Address Register 2 */#define DBAT0L SPRN_DBAT0L /* Data BAT 0 Lower Register */#define DBAT0U SPRN_DBAT0U /* Data BAT 0 Upper Register */#define DBAT1L SPRN_DBAT1L /* Data BAT 1 Lower Register */#define DBAT1U SPRN_DBAT1U /* Data BAT 1 Upper Register */#define DBAT2L SPRN_DBAT2L /* Data BAT 2 Lower Register */#define DBAT2U SPRN_DBAT2U /* Data BAT 2 Upper Register */#define DBAT3L SPRN_DBAT3L /* Data BAT 3 Lower Register */#define DBAT3U SPRN_DBAT3U /* Data BAT 3 Upper Register */#define DBAT4L SPRN_DBAT4L /* Data BAT 4 Lower Register */#define DBAT4U SPRN_DBAT4U /* Data BAT 4 Upper Register */#define DBAT5L SPRN_DBAT5L /* Data BAT 5 Lower Register */#define DBAT5U SPRN_DBAT5U /* Data BAT 5 Upper Register */#define DBAT6L SPRN_DBAT6L /* Data BAT 6 Lower Register */#define DBAT6U SPRN_DBAT6U /* Data BAT 6 Upper Register */#define DBAT7L SPRN_DBAT7L /* Data BAT 7 Lower Register */#define DBAT7U SPRN_DBAT7U /* Data BAT 7 Upper Register */#define DBCR0 SPRN_DBCR0 /* Debug Control Register 0 */#define DBCR1 SPRN_DBCR1 /* Debug Control Register 1 */#define DBSR SPRN_DBSR /* Debug Status Register */#define DCMP SPRN_DCMP /* Data TLB Compare Register */#define DEC SPRN_DEC /* Decrement Register */#define DMISS SPRN_DMISS /* Data TLB Miss Register */#define DSISR SPRN_DSISR /* Data Storage Interrupt Status Register */#define EAR SPRN_EAR /* External Address Register */#define ESR SPRN_ESR /* Exception Syndrome Register */#define HASH1 SPRN_HASH1 /* Primary Hash Address Register */#define HASH2 SPRN_HASH2 /* Secondary Hash Address Register */#define HID0 SPRN_HID0 /* Hardware Implementation Register 0 */#define HID1 SPRN_HID1 /* Hardware Implementation Register 1 */#define IABR SPRN_IABR /* Instruction Address Breakpoint Register */#define IAC1 SPRN_IAC1 /* Instruction Address Register 1 */#define IAC2 SPRN_IAC2 /* Instruction Address Register 2 */#define IBAT0L SPRN_IBAT0L /* Instruction BAT 0 Lower Register */#define IBAT0U SPRN_IBAT0U /* Instruction BAT 0 Upper Register */#define IBAT1L SPRN_IBAT1L /* Instruction BAT 1 Lower Register */#define IBAT1U SPRN_IBAT1U /* Instruction BAT 1 Upper Register */#define IBAT2L SPRN_IBAT2L /* Instruction BAT 2 Lower Register */#define IBAT2U SPRN_IBAT2U /* Instruction BAT 2 Upper Register */#define IBAT3L SPRN_IBAT3L /* Instruction BAT 3 Lower Register */#define IBAT3U SPRN_IBAT3U /* Instruction BAT 3 Upper Register */#define IBAT4L SPRN_IBAT4L /* Instruction BAT 4 Lower Register */#define IBAT4U SPRN_IBAT4U /* Instruction BAT 4 Upper Register */#define IBAT5L SPRN_IBAT5L /* Instruction BAT 5 Lower Register */#define IBAT5U SPRN_IBAT5U /* Instruction BAT 5 Upper Register */#define IBAT6L SPRN_IBAT6L /* Instruction BAT 6 Lower Register */#define IBAT6U SPRN_IBAT6U /* Instruction BAT 6 Upper Register */#define IBAT7L SPRN_IBAT7L /* Instruction BAT 7 Lower Register */#define IBAT7U SPRN_IBAT7U /* Instruction BAT 7 Lower Register */#define ICMP SPRN_ICMP /* Instruction TLB Compare Register */#define IMISS SPRN_IMISS /* Instruction TLB Miss Register */#define IMMR SPRN_IMMR /* PPC 860/821 Internal Memory Map Register */#define LDSTCR SPRN_LDSTCR /* Load/Store Control Register */#define L2CR SPRN_L2CR /* PPC 750 L2 control register */#define LR SPRN_LR#define MBAR SPRN_MBAR /* System memory base address */#if defined(CONFIG_MPC86xx)#define MSSCR0 SPRN_MSSCRO#endif#if defined(CONFIG_E500) || defined(CONFIG_MPC86xx)#define PIR SPRN_PIR#endif#define SVR SPRN_SVR /* System-On-Chip Version Register */#define PVR SPRN_PVR /* Processor Version */#define RPA SPRN_RPA /* Required Physical Address Register */#define SDR1 SPRN_SDR1 /* MMU hash base register */#define SPR0 SPRN_SPRG0 /* Supervisor Private Registers */#define SPR1 SPRN_SPRG1#define SPR2 SPRN_SPRG2#define SPR3 SPRN_SPRG3#define SPRG0 SPRN_SPRG0#define SPRG1 SPRN_SPRG1#define SPRG2 SPRN_SPRG2#define SPRG3 SPRN_SPRG3#define SRR0 SPRN_SRR0 /* Save and Restore Register 0 */#define SRR1 SPRN_SRR1 /* Save and Restore Register 1 */#define SVR SPRN_SVR /* System Version Register */#define TBRL SPRN_TBRL /* Time Base Read Lower Register */#define TBRU SPRN_TBRU /* Time Base Read Upper Register */#define TBWL SPRN_TBWL /* Time Base Write Lower Register */#define TBWU SPRN_TBWU /* Time Base Write Upper Register */#define TCR SPRN_TCR /* Timer Control Register */#define TSR SPRN_TSR /* Timer Status Register */#define ICTC 1019#define THRM1 SPRN_THRM1 /* Thermal Management Register 1 */#define THRM2 SPRN_THRM2 /* Thermal Management Register 2 */#define THRM3 SPRN_THRM3 /* Thermal Management Register 3 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -