Changeset 245
- Timestamp:
- Jun 17, 2013, 11:38:40 PM (11 years ago)
- Location:
- soft/giet_vm
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
soft/giet_vm/boot/boot.ld
r203 r245 17 17 *(.boot) 18 18 *(.text) 19 20 19 *(.rodata) 21 20 *(.rodata.*) 22 *(.data) 23 *(.lit8) 24 *(.lit4) 25 *(.sdata) 26 *(.bss) 27 *(COMMON) 28 *(.sbss) 29 *(.scommon) 21 } 22 23 . = seg_boot_data_base; 24 seg_boot_data : 25 { 26 *(.wdata) 30 27 } 31 28 } -
soft/giet_vm/boot/boot_init.c
r240 r245 89 89 90 90 // Page table addresses arrays 91 __attribute__((section (".wdata"))) 91 92 paddr_t boot_ptabs_paddr[GIET_NB_VSPACE_MAX]; 93 94 __attribute__((section (".wdata"))) 92 95 unsigned int boot_ptabs_vaddr[GIET_NB_VSPACE_MAX]; 93 96 94 97 // Scheduler pointers array (virtual addresses) 98 __attribute__((section (".wdata"))) 95 99 static_scheduler_t* boot_schedulers[NB_CLUSTERS * NB_PROCS_MAX]; 96 100 97 101 // Next free PT2 index array 102 __attribute__((section (".wdata"))) 98 103 unsigned int boot_next_free_pt2[GIET_NB_VSPACE_MAX] = 99 104 { [0 ... GIET_NB_VSPACE_MAX - 1] = 0 }; 100 105 101 106 // Max PT2 index 107 __attribute__((section (".wdata"))) 102 108 unsigned int boot_max_pt2[GIET_NB_VSPACE_MAX] = 103 109 { [0 ... GIET_NB_VSPACE_MAX - 1] = 0 }; -
soft/giet_vm/mappings/4c_1p_40.xml
r238 r245 23 23 <pseg name = "PSEG_TTY" type = "PERI" base = "0x00B4000000" length = "0x0000001000" /> 24 24 <pseg name = "PSEG_NIC" type = "PERI" base = "0x00B5000000" length = "0x0000021000" /> 25 <pseg name = "PSEG_CMA" type = "PERI" base = "0x00B6000000" length = "0x0000004000" /> 26 <pseg name = "PSEG_IOB" type = "PERI" base = "0x00BE000000" length = "0x0000100000" /> 25 27 <pseg name = "PSEG_ROM" type = "ROM" base = "0x00BFC00000" length = "0x0000100000" /> 26 28 … … 46 48 </proc> 47 49 48 <periph type = "DMA" psegname = "PSEG_DMA" channels = " 1" />50 <periph type = "DMA" psegname = "PSEG_DMA" channels = "4" /> 49 51 <periph type = "XICU" psegname = "PSEG_XICU" channels = "18" /> 50 52 <periph type = "IOC" psegname = "PSEG_IOC" channels = "1" /> 51 53 <periph type = "TTY" psegname = "PSEG_TTY" channels = "8" /> 52 <periph type = "NIC" psegname = "PSEG_NIC" channels = " 8" />54 <periph type = "NIC" psegname = "PSEG_NIC" channels = "2" /> 53 55 <periph type = "FBF" psegname = "PSEG_FBF" /> 54 56 </cluster> … … 64 66 </proc> 65 67 66 <periph type = "DMA" psegname = "PSEG_DMA" channels = "1" />68 <periph type = "DMA" psegname = "PSEG_DMA" channels = "4" /> 67 69 <periph type = "XICU" psegname = "PSEG_XICU" channels = "2" /> 68 70 </cluster> … … 78 80 </proc> 79 81 80 <periph type = "DMA" psegname = "PSEG_DMA" channels = "1" />82 <periph type = "DMA" psegname = "PSEG_DMA" channels = "4" /> 81 83 <periph type = "XICU" psegname = "PSEG_XICU" channels = "2" /> 82 84 </cluster> … … 92 94 </proc> 93 95 94 <periph type = "DMA" psegname = "PSEG_DMA" channels = " 1" />96 <periph type = "DMA" psegname = "PSEG_DMA" channels = "4" /> 95 97 <periph type = "XICU" psegname = "PSEG_XICU" channels = "2" /> 96 98 </cluster> … … 106 108 <vobj name = "boot_code" type = "ELF" length = "0x00008000" binpath = "build/boot/boot.elf" /> 107 109 </vseg> 108 <vseg name = "seg_boot_mapping" vbase = "0xBFC08000" mode = "C_W_" clusterid = "0" psegname = "PSEG_ROM" ident = "1" > 110 <vseg name = "seg_boot_data" vbase = "0x00000000" mode = "C_W_" clusterid = "0" psegname = "PSEG_RAM" ident = "1" > 111 <vobj name = "boot_data" type = "ELF" length = "0x00001000" binpath = "build/boot/boot.elf" /> 112 </vseg> 113 <vseg name = "seg_boot_stack" vbase = "0x00001000" mode = "C_W_" clusterid = "0" psegname = "PSEG_RAM" ident = "1" > 114 <vobj name = "boot_stack" type = "BUFFER" length = "0x00003000" /> 115 </vseg> 116 <vseg name = "seg_boot_mapping" vbase = "0x00004000" mode = "C_W_" clusterid = "0" psegname = "PSEG_RAM" ident = "1" > 109 117 <vobj name = "boot_mapping" type = "BLOB" length = "0x00004000" binpath = "map.bin" /> 110 </vseg>111 <vseg name = "seg_boot_stack" vbase = "0x00000000" mode = "C_W_" clusterid = "0" psegname = "PSEG_RAM" ident = "1" >112 <vobj name = "boot_stack" type = "BUFFER" length = "0x00004000" />113 118 </vseg> 114 119 -
soft/giet_vm/xml/xml_parser.c
r238 r245 2212 2212 count++; 2213 2213 } 2214 else if ( strcmp(vseg[vseg_id]->name, "seg_boot_data") == 0 ) 2215 { 2216 ld_write(fdout, "seg_boot_data_base ", vseg[vseg_id]->vbase); 2217 count++; 2218 } 2214 2219 else if ( strcmp(vseg[vseg_id]->name, "seg_boot_stack") == 0 ) 2215 2220 { … … 2243 2248 } 2244 2249 } 2245 if ( count != 7)2250 if ( count != 8 ) 2246 2251 { 2247 2252 printf ("[XML ERROR] Missing Boot or Kernel vseg : only %d\n", count); 2248 2253 printf ("Mandatory segments are :\n"); 2249 2254 printf (" - seg_boot_code\n"); 2255 printf (" - seg_boot_data\n"); 2250 2256 printf (" - seg_boot_stack\n"); 2251 2257 printf (" - seg_boot_mapping\n");
Note: See TracChangeset
for help on using the changeset viewer.