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

📄 sh7750_regs.h

📁 xen 3.2.2 源码
💻 H
📖 第 1 页 / 共 5 页
字号:
/* * SH-7750 memory-mapped registers * This file based on information provided in the following document: * "Hitachi SuperH (tm) RISC engine. SH7750 Series (SH7750, SH7750S) *  Hardware Manual" *  Document Number ADE-602-124C, Rev. 4.0, 4/21/00, Hitachi Ltd. * * Copyright (C) 2001 OKTET Ltd., St.-Petersburg, Russia * Author: Alexandra Kossovsky <sasha@oktet.ru> *         Victor V. Vengerov <vvv@oktet.ru> * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at *  http://www.rtems.com/license/LICENSE. *  * @(#) sh7750_regs.h,v 1.2.4.1 2003/09/04 18:46:00 joel Exp */#ifndef __SH7750_REGS_H__#define __SH7750_REGS_H__/*  * All register has 2 addresses: in 0xff000000 - 0xffffffff (P4 address)  and  * in 0x1f000000 - 0x1fffffff (area 7 address) */#define SH7750_P4_BASE       0xff000000	/* Accessable only in 					   priveleged mode */#define SH7750_A7_BASE       0x1f000000	/* Accessable only using TLB */#define SH7750_P4_REG32(ofs) (SH7750_P4_BASE + (ofs))#define SH7750_A7_REG32(ofs) (SH7750_A7_BASE + (ofs))/*  * MMU Registers  *//* Page Table Entry High register - PTEH */#define SH7750_PTEH_REGOFS    0x000000	/* offset */#define SH7750_PTEH           SH7750_P4_REG32(SH7750_PTEH_REGOFS)#define SH7750_PTEH_A7        SH7750_A7_REG32(SH7750_PTEH_REGOFS)#define SH7750_PTEH_VPN       0xfffffd00	/* Virtual page number */#define SH7750_PTEH_VPN_S     10#define SH7750_PTEH_ASID      0x000000ff	/* Address space identifier */#define SH7750_PTEH_ASID_S    0/* Page Table Entry Low register - PTEL */#define SH7750_PTEL_REGOFS    0x000004	/* offset */#define SH7750_PTEL           SH7750_P4_REG32(SH7750_PTEL_REGOFS)#define SH7750_PTEL_A7        SH7750_A7_REG32(SH7750_PTEL_REGOFS)#define SH7750_PTEL_PPN       0x1ffffc00	/* Physical page number */#define SH7750_PTEL_PPN_S     10#define SH7750_PTEL_V         0x00000100	/* Validity (0-entry is invalid) */#define SH7750_PTEL_SZ1       0x00000080	/* Page size bit 1 */#define SH7750_PTEL_SZ0       0x00000010	/* Page size bit 0 */#define SH7750_PTEL_SZ_1KB    0x00000000	/*   1-kbyte page */#define SH7750_PTEL_SZ_4KB    0x00000010	/*   4-kbyte page */#define SH7750_PTEL_SZ_64KB   0x00000080	/*   64-kbyte page */#define SH7750_PTEL_SZ_1MB    0x00000090	/*   1-Mbyte page */#define SH7750_PTEL_PR        0x00000060	/* Protection Key Data */#define SH7750_PTEL_PR_ROPO   0x00000000	/*   read-only in priv mode */#define SH7750_PTEL_PR_RWPO   0x00000020	/*   read-write in priv mode */#define SH7750_PTEL_PR_ROPU   0x00000040	/*   read-only in priv or user mode */#define SH7750_PTEL_PR_RWPU   0x00000060	/*   read-write in priv or user mode */#define SH7750_PTEL_C         0x00000008	/* Cacheability 						   (0 - page not cacheable) */#define SH7750_PTEL_D         0x00000004	/* Dirty bit (1 - write has been 						   performed to a page) */#define SH7750_PTEL_SH        0x00000002	/* Share Status bit (1 - page are						   shared by processes) */#define SH7750_PTEL_WT        0x00000001	/* Write-through bit, specifies the						   cache write mode:						   0 - Copy-back mode						   1 - Write-through mode *//* Page Table Entry Assistance register - PTEA */#define SH7750_PTEA_REGOFS    0x000034	/* offset */#define SH7750_PTEA           SH7750_P4_REG32(SH7750_PTEA_REGOFS)#define SH7750_PTEA_A7        SH7750_A7_REG32(SH7750_PTEA_REGOFS)#define SH7750_PTEA_TC        0x00000008	/* Timing Control bit						   0 - use area 5 wait states						   1 - use area 6 wait states */#define SH7750_PTEA_SA        0x00000007	/* Space Attribute bits: */#define SH7750_PTEA_SA_UNDEF  0x00000000	/*    0 - undefined */#define SH7750_PTEA_SA_IOVAR  0x00000001	/*    1 - variable-size I/O space */#define SH7750_PTEA_SA_IO8    0x00000002	/*    2 - 8-bit I/O space */#define SH7750_PTEA_SA_IO16   0x00000003	/*    3 - 16-bit I/O space */#define SH7750_PTEA_SA_CMEM8  0x00000004	/*    4 - 8-bit common memory space */#define SH7750_PTEA_SA_CMEM16 0x00000005	/*    5 - 16-bit common memory space */#define SH7750_PTEA_SA_AMEM8  0x00000006	/*    6 - 8-bit attr memory space */#define SH7750_PTEA_SA_AMEM16 0x00000007	/*    7 - 16-bit attr memory space *//* Translation table base register */#define SH7750_TTB_REGOFS     0x000008	/* offset */#define SH7750_TTB            SH7750_P4_REG32(SH7750_TTB_REGOFS)#define SH7750_TTB_A7         SH7750_A7_REG32(SH7750_TTB_REGOFS)/* TLB exeption address register - TEA */#define SH7750_TEA_REGOFS     0x00000c	/* offset */#define SH7750_TEA            SH7750_P4_REG32(SH7750_TEA_REGOFS)#define SH7750_TEA_A7         SH7750_A7_REG32(SH7750_TEA_REGOFS)/* MMU control register - MMUCR */#define SH7750_MMUCR_REGOFS   0x000010	/* offset */#define SH7750_MMUCR          SH7750_P4_REG32(SH7750_MMUCR_REGOFS)#define SH7750_MMUCR_A7       SH7750_A7_REG32(SH7750_MMUCR_REGOFS)#define SH7750_MMUCR_AT       0x00000001	/* Address translation bit */#define SH7750_MMUCR_TI       0x00000004	/* TLB invalidate */#define SH7750_MMUCR_SV       0x00000100	/* Single Virtual Mode bit */#define SH7750_MMUCR_SQMD     0x00000200	/* Store Queue Mode bit */#define SH7750_MMUCR_URC      0x0000FC00	/* UTLB Replace Counter */#define SH7750_MMUCR_URC_S    10#define SH7750_MMUCR_URB      0x00FC0000	/* UTLB Replace Boundary */#define SH7750_MMUCR_URB_S    18#define SH7750_MMUCR_LRUI     0xFC000000	/* Least Recently Used ITLB */#define SH7750_MMUCR_LRUI_S   26/* * Cache registers *   IC -- instructions cache *   OC -- operand cache *//* Cache Control Register - CCR */#define SH7750_CCR_REGOFS     0x00001c	/* offset */#define SH7750_CCR            SH7750_P4_REG32(SH7750_CCR_REGOFS)#define SH7750_CCR_A7         SH7750_A7_REG32(SH7750_CCR_REGOFS)#define SH7750_CCR_IIX      0x00008000	/* IC index enable bit */#define SH7750_CCR_ICI      0x00000800	/* IC invalidation bit: 					   set it to clear IC */#define SH7750_CCR_ICE      0x00000100	/* IC enable bit */#define SH7750_CCR_OIX      0x00000080	/* OC index enable bit */#define SH7750_CCR_ORA      0x00000020	/* OC RAM enable bit 					   if you set OCE = 0, 					   you should set ORA = 0 */#define SH7750_CCR_OCI      0x00000008	/* OC invalidation bit */#define SH7750_CCR_CB       0x00000004	/* Copy-back bit for P1 area */#define SH7750_CCR_WT       0x00000002	/* Write-through bit for P0,U0,P3 area */#define SH7750_CCR_OCE      0x00000001	/* OC enable bit *//* Queue address control register 0 - QACR0 */#define SH7750_QACR0_REGOFS   0x000038	/* offset */#define SH7750_QACR0          SH7750_P4_REG32(SH7750_QACR0_REGOFS)#define SH7750_QACR0_A7       SH7750_A7_REG32(SH7750_QACR0_REGOFS)/* Queue address control register 1 - QACR1 */#define SH7750_QACR1_REGOFS   0x00003c	/* offset */#define SH7750_QACR1          SH7750_P4_REG32(SH7750_QACR1_REGOFS)#define SH7750_QACR1_A7       SH7750_A7_REG32(SH7750_QACR1_REGOFS)/* * Exeption-related registers *//* Immediate data for TRAPA instuction - TRA */#define SH7750_TRA_REGOFS     0x000020	/* offset */#define SH7750_TRA            SH7750_P4_REG32(SH7750_TRA_REGOFS)#define SH7750_TRA_A7         SH7750_A7_REG32(SH7750_TRA_REGOFS)#define SH7750_TRA_IMM      0x000003fd	/* Immediate data operand */#define SH7750_TRA_IMM_S    2/* Exeption event register - EXPEVT */#define SH7750_EXPEVT_REGOFS  0x000024#define SH7750_EXPEVT         SH7750_P4_REG32(SH7750_EXPEVT_REGOFS)#define SH7750_EXPEVT_A7      SH7750_A7_REG32(SH7750_EXPEVT_REGOFS)#define SH7750_EXPEVT_EX      0x00000fff	/* Exeption code */#define SH7750_EXPEVT_EX_S    0/* Interrupt event register */#define SH7750_INTEVT_REGOFS  0x000028#define SH7750_INTEVT         SH7750_P4_REG32(SH7750_INTEVT_REGOFS)#define SH7750_INTEVT_A7      SH7750_A7_REG32(SH7750_INTEVT_REGOFS)#define SH7750_INTEVT_EX    0x00000fff	/* Exeption code */#define SH7750_INTEVT_EX_S  0/* * Exception/interrupt codes */#define SH7750_EVT_TO_NUM(evt)  ((evt) >> 5)/* Reset exception category */#define SH7750_EVT_POWER_ON_RST        0x000	/* Power-on reset */#define SH7750_EVT_MANUAL_RST          0x020	/* Manual reset */#define SH7750_EVT_TLB_MULT_HIT        0x140	/* TLB multiple-hit exception *//* General exception category */#define SH7750_EVT_USER_BREAK          0x1E0	/* User break */#define SH7750_EVT_IADDR_ERR           0x0E0	/* Instruction address error */#define SH7750_EVT_TLB_READ_MISS       0x040	/* ITLB miss exception /						   DTLB miss exception (read) */#define SH7750_EVT_TLB_READ_PROTV      0x0A0	/* ITLB protection violation /						   DTLB protection violation (read) */#define SH7750_EVT_ILLEGAL_INSTR       0x180	/* General Illegal Instruction						   exception */#define SH7750_EVT_SLOT_ILLEGAL_INSTR  0x1A0	/* Slot Illegal Instruction						   exception */#define SH7750_EVT_FPU_DISABLE         0x800	/* General FPU disable exception */#define SH7750_EVT_SLOT_FPU_DISABLE    0x820	/* Slot FPU disable exception */#define SH7750_EVT_DATA_READ_ERR       0x0E0	/* Data address error (read) */#define SH7750_EVT_DATA_WRITE_ERR      0x100	/* Data address error (write) */#define SH7750_EVT_DTLB_WRITE_MISS     0x060	/* DTLB miss exception (write) */#define SH7750_EVT_DTLB_WRITE_PROTV    0x0C0	/* DTLB protection violation						   exception (write) */#define SH7750_EVT_FPU_EXCEPTION       0x120	/* FPU exception */#define SH7750_EVT_INITIAL_PGWRITE     0x080	/* Initial Page Write exception */#define SH7750_EVT_TRAPA               0x160	/* Unconditional trap (TRAPA) *//* Interrupt exception category */#define SH7750_EVT_NMI                 0x1C0	/* Non-maskable interrupt */#define SH7750_EVT_IRQ0                0x200	/* External Interrupt 0 */#define SH7750_EVT_IRQ1                0x220	/* External Interrupt 1 */#define SH7750_EVT_IRQ2                0x240	/* External Interrupt 2 */#define SH7750_EVT_IRQ3                0x260	/* External Interrupt 3 */#define SH7750_EVT_IRQ4                0x280	/* External Interrupt 4 */#define SH7750_EVT_IRQ5                0x2A0	/* External Interrupt 5 */#define SH7750_EVT_IRQ6                0x2C0	/* External Interrupt 6 */#define SH7750_EVT_IRQ7                0x2E0	/* External Interrupt 7 */#define SH7750_EVT_IRQ8                0x300	/* External Interrupt 8 */#define SH7750_EVT_IRQ9                0x320	/* External Interrupt 9 */#define SH7750_EVT_IRQA                0x340	/* External Interrupt A */#define SH7750_EVT_IRQB                0x360	/* External Interrupt B */#define SH7750_EVT_IRQC                0x380	/* External Interrupt C */#define SH7750_EVT_IRQD                0x3A0	/* External Interrupt D */#define SH7750_EVT_IRQE                0x3C0	/* External Interrupt E *//* Peripheral Module Interrupts - Timer Unit (TMU) */#define SH7750_EVT_TUNI0               0x400	/* TMU Underflow Interrupt 0 */#define SH7750_EVT_TUNI1               0x420	/* TMU Underflow Interrupt 1 */#define SH7750_EVT_TUNI2               0x440	/* TMU Underflow Interrupt 2 */#define SH7750_EVT_TICPI2              0x460	/* TMU Input Capture Interrupt 2 *//* Peripheral Module Interrupts - Real-Time Clock (RTC) */#define SH7750_EVT_RTC_ATI             0x480	/* Alarm Interrupt Request */#define SH7750_EVT_RTC_PRI             0x4A0	/* Periodic Interrupt Request */#define SH7750_EVT_RTC_CUI             0x4C0	/* Carry Interrupt Request *//* Peripheral Module Interrupts - Serial Communication Interface (SCI) */#define SH7750_EVT_SCI_ERI             0x4E0	/* Receive Error */#define SH7750_EVT_SCI_RXI             0x500	/* Receive Data Register Full */#define SH7750_EVT_SCI_TXI             0x520	/* Transmit Data Register Empty */#define SH7750_EVT_SCI_TEI             0x540	/* Transmit End *//* Peripheral Module Interrupts - Watchdog Timer (WDT) */#define SH7750_EVT_WDT_ITI             0x560	/* Interval Timer Interrupt						   (used when WDT operates in						   interval timer mode) *//* Peripheral Module Interrupts - Memory Refresh Unit (REF) */#define SH7750_EVT_REF_RCMI            0x580	/* Compare-match Interrupt */#define SH7750_EVT_REF_ROVI            0x5A0	/* Refresh Counter Overflow 						   interrupt *//* Peripheral Module Interrupts - Hitachi User Debug Interface (H-UDI) */#define SH7750_EVT_HUDI                0x600	/* UDI interrupt *//* Peripheral Module Interrupts - General-Purpose I/O (GPIO) */#define SH7750_EVT_GPIO                0x620	/* GPIO Interrupt *//* Peripheral Module Interrupts - DMA Controller (DMAC) */

⌨️ 快捷键说明

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