- Timestamp:
- Jun 24, 2014, 11:11:29 AM (10 years ago)
- Location:
- soft/giet_vm
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
soft/giet_vm/giet_boot/boot.c
r329 r340 142 142 // Page table addresses arrays 143 143 __attribute__((section (".bootdata"))) 144 paddr_t _ptabs_paddr[GIET_NB_VSPACE_MAX];144 volatile paddr_t _ptabs_paddr[GIET_NB_VSPACE_MAX]; 145 145 146 146 __attribute__((section (".bootdata"))) 147 unsigned int _ptabs_vaddr[GIET_NB_VSPACE_MAX];147 volatile unsigned int _ptabs_vaddr[GIET_NB_VSPACE_MAX]; 148 148 149 149 // Next free PT2 index array 150 150 __attribute__((section (".bootdata"))) 151 unsigned int _next_free_pt2[GIET_NB_VSPACE_MAX] =151 volatile unsigned int _next_free_pt2[GIET_NB_VSPACE_MAX] = 152 152 { [0 ... GIET_NB_VSPACE_MAX - 1] = 0 }; 153 153 154 154 // Max PT2 index 155 155 __attribute__((section (".bootdata"))) 156 unsigned int _max_pt2[GIET_NB_VSPACE_MAX] =156 volatile unsigned int _max_pt2[GIET_NB_VSPACE_MAX] = 157 157 { [0 ... GIET_NB_VSPACE_MAX - 1] = 0 }; 158 158 … … 305 305 unsigned int ix2; 306 306 paddr_t pt1_pbase; // PT1 physical base address 307 paddr_t pt2_pbase ;// PT2 physical base address307 paddr_t pt2_pbase = 0; // PT2 physical base address 308 308 paddr_t pte_paddr; // PTE physucal address 309 309 unsigned int pt2_id; // PT2 index … … 2216 2216 case PERIPH_TYPE_IOB: // vci_io_bridge component 2217 2217 { 2218 // initialize r_xicu_base & r_xicu_size registers2219 unsigned int base = (unsigned int)SEG_XCU_BASE;2220 2221 2218 #if BOOT_DEBUG_PERI 2222 2219 _puts("- IOB : channels = "); 2223 2220 _putd(channels); 2224 _puts(" / XICU_BASE = "); 2225 _putx( base ); 2226 _puts(" / XICU_SIZE = "); 2227 _putx( 0x1000 ); 2228 _puts("\n"); 2229 #endif 2230 _iob_set_xicu_base( cluster_xy, base ); 2231 _iob_set_xicu_size( cluster_xy, 0x1000 ); 2232 2221 _puts("\n"); 2222 #endif 2233 2223 if (GIET_USE_IOMMU) 2234 2224 { … … 2337 2327 // Most of this code is executed by Processor 0 only. 2338 2328 ///////////////////////////////////////////////////////////////////////// 2339 void boot_init() 2329 void boot_init() 2340 2330 { 2341 2331 mapping_header_t* header = (mapping_header_t *)SEG_BOOT_MAPPING_BASE; -
soft/giet_vm/giet_drivers/iob_driver.c
r320 r340 83 83 } 84 84 85 ///////////////////////////////////////////////////////////////////////////////86 // This function sets a new value in IOB_XICU_BASE register.87 ///////////////////////////////////////////////////////////////////////////////88 void _iob_set_xicu_base( unsigned int cluster_xy,89 unsigned int value )90 {91 _iob_set_register( cluster_xy,92 IOB_XICU_BASE,93 value );94 }95 96 ///////////////////////////////////////////////////////////////////////////////97 // This function sets a new value in IOB_XICU_SIZE register.98 ///////////////////////////////////////////////////////////////////////////////99 void _iob_set_xicu_size( unsigned int cluster_xy,100 unsigned int value )101 {102 _iob_set_register( cluster_xy,103 IOB_XICU_SIZE,104 value );105 }106 107 108 109 85 // Local Variables: 110 86 // tab-width: 4 -
soft/giet_vm/giet_drivers/iob_driver.h
r298 r340 24 24 IOB_WTI_ADDR_LO = 7, // W/R : 32 LSB bits for IOMMU WTI 25 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 027 IOB_XICU_SIZE = 10, // R/W : XICU segment size28 26 }; 29 27 … … 51 49 unsigned int value ); 52 50 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 );58 59 51 /////////////////////////////////////////////////////////////////////////////////// 60 52
Note: See TracChangeset
for help on using the changeset viewer.