Changeset 298 for soft/giet_vm/giet_drivers/iob_driver.h
- Timestamp:
- Apr 3, 2014, 2:00:10 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
soft/giet_vm/giet_drivers/iob_driver.h
r258 r298 10 10 11 11 /////////////////////////////////////////////////////////////////////////////////// 12 // TSAR IOB (vci_io_bridge) registers offsets12 // vci_io_bridge : registers offsets and iommu error codes 13 13 /////////////////////////////////////////////////////////////////////////////////// 14 14 15 15 enum IOB_registers 16 16 { 17 IOB_IOMMU_PTPR = 0, /* R/W : Page Table Pointer Register */ 18 IOB_IOMMU_ACTIVE = 1, /* R/W : IOMMU activated if not 0 */ 19 IOB_IOMMU_BVAR = 2, /* R : Bad Virtual Address (unmapped) */ 20 IOB_IOMMU_ETR = 3, /* R : Error Type */ 21 IOB_IOMMU_BAD_ID = 4, /* R : Faulty Peripheral Index */ 22 IOB_INVAL_PTE = 5, /* W : Invalidate a PTE (virtual address) */ 23 IOB_IT_ADDR_IOMMU_LO = 6, /* W/R : 32 LSB bits for IOMMU IT*/ 24 IOB_IT_ADDR_IOMMU_HI = 7, /* W/R : 32 MSB bits for IOMMU IT */ 25 IOB_IT_ADDRESS_BEGIN = 8, /* R/W : Peripheral IT address (2 32 bits registers) */ 17 IOB_IOMMU_PTPR = 0, // R/W : Page Table Pointer Register 18 IOB_IOMMU_ACTIVE = 1, // R/W : IOMMU activated if not 0 19 IOB_IOMMU_BVAR = 2, // R : Bad Virtual Address (unmapped) 20 IOB_IOMMU_ETR = 3, // R : Error Type 21 IOB_IOMMU_BAD_ID = 4, // R : Faulty Peripheral Index (SRCID) 22 IOB_INVAL_PTE = 5, // W : Invalidate a PTE (virtual address) 23 IOB_WTI_ENABLE = 6, // R/W : Enable WTIs (both IOMMU and peripherals) 24 IOB_WTI_ADDR_LO = 7, // W/R : 32 LSB bits for IOMMU WTI 25 IOB_WTI_ADDR_HI = 8, // W/R : 32 MSB bits for IOMMU WTI 26 IOB_XICU_BASE = 9, // R/W : XICU pbase address in cluster 0 27 IOB_XICU_SIZE = 10, // R/W : XICU segment size 26 28 }; 29 30 enum mmu_error_type_e 31 { 32 MMU_NONE = 0x0000, // None 33 MMU_WRITE_ACCES_VIOLATION = 0x0008, // Write access to a non writable page 34 MMU_WRITE_PT1_ILLEGAL_ACCESS = 0x0040, // Write Bus Error accessing Table 1 35 MMU_READ_PT1_UNMAPPED = 0x1001, // Read Page fault on Page Table 1 36 MMU_READ_PT2_UNMAPPED = 0x1002, // Read Page fault on Page Table 2 37 MMU_READ_PT1_ILLEGAL_ACCESS = 0x1040, // Read Bus Error in Table1 access 38 MMU_READ_PT2_ILLEGAL_ACCESS = 0x1080, // Read Bus Error in Table2 access 39 MMU_READ_DATA_ILLEGAL_ACCESS = 0x1100, // Read Bus Error in cache access 40 }; 41 27 42 28 43 /////////////////////////////////////////////////////////////////////////////////// … … 30 45 /////////////////////////////////////////////////////////////////////////////////// 31 46 32 extern unsigned int _iob_inval_tlb_entry( unsigned int vaddr ); 47 extern void _iob_inval_tlb_entry( unsigned int cluster_xy, 48 unsigned int vaddr ); 33 49 34 extern unsigned int _iob_set_iommu_ptpr( unsigned int value ); 50 extern void _iob_set_iommu_ptpr( unsigned int cluster_xy, 51 unsigned int value ); 52 53 extern void _iob_set_xicu_base( unsigned int cluster_xy, 54 unsigned int value ); 55 56 extern void _iob_set_xicu_size( unsigned int cluster_xy, 57 unsigned int value ); 35 58 36 59 ///////////////////////////////////////////////////////////////////////////////////
Note: See TracChangeset
for help on using the changeset viewer.