source: soft/giet_vm/mappings/4c_4p_sort_leti_ext.xml @ 314

Last change on this file since 314 was 295, checked in by alain, 10 years ago

Introducing a major release, to suppoort the tsar_generic_leti platform
and the various (external or internal) peripherals configurations.
The map.xml format has been modified, in order to support the new
vci_iopic componentand a new policy for peripherals initialisation.
The IRQs are nom described in the XICU and IOPIC components
(and not anymore in the processors).
To enforce this major change, the map.xml file signature changed:
The signature value must be: 0xDACE2014

This new release has been tested on the tsar_generic_leti platform
for the following mappings:

  • 4c_4p_sort_leti
  • 4c_4p_sort_leti_ext
  • 4c_4p_transpose_leti
  • 4c_4p_transpose_leti_ext
  • 4c_1p_four_leti_ext
File size: 26.2 KB
Line 
1<?xml version="1.0"?>
2
3<mapping_info signature    = "0xdace2014" 
4              name         = "4c_4p_sort_leti_ext" 
5              x_size       = "2" 
6              y_size       = "3" 
7              x_width      = "4"
8              y_width      = "4"
9                          irq_per_proc = "4" 
10              use_ramdisk  = "0"
11                          x_io         = "1"
12              y_io         = "2" >
13
14*** This mapping is for the "tsar_generic_leti" hardware architecture
15*** with 4 clusters containing processors and 4 processors per cluster
16*** 40 bits physical address, and 64 Mbytes per cluster.
17*** It uses the external peripherals, which means 2*3 clusters, because
18*** External peripherals are implemented in cluster(1,2), and the associated WTI
19*** are routed by the PIC component to the XCU in cluster (0,0).
20*** Cluster (0,0) contains two backup peripherals (TTY and Block Device),
21*** and the corresponding HWI are connected to the XICU in cluster (0,0)
22
23    <clusterset>
24
25        <cluster x = "0" y = "0" >
26            <pseg name = "PSEG_RAM"  type = "RAM"  base = "0x0000000000" length = "0x0400000000" />
27            <pseg name = "PSEG_XCU"  type = "PERI" base = "0x00F0000000" length = "0x0000002000" />
28            <pseg name = "PSEG_MMC"  type = "PERI" base = "0x00E0000000" length = "0x0000001000" />
29            <pseg name = "PSEG_IOC"  type = "PERI" base = "0x00F2000000" length = "0x0000001000" /> 
30            <pseg name = "PSEG_TTY"  type = "PERI" base = "0x00F4000000" length = "0x0000001000" /> 
31
32            <proc index  = "0" />
33            <proc index  = "1" />
34            <proc index  = "2" />
35            <proc index  = "3" />
36
37            <periph type = "MMC"  psegname = "PSEG_MMC"  >
38            </periph>
39            <periph type = "IOC"  psegname = "PSEG_IOC"  subtype = "BDV" > 
40            </periph>
41            <periph type = "TTY"  psegname = "PSEG_TTY"  channels = "1" > 
42            </periph>
43            <periph type = "XCU"  psegname = "PSEG_XCU"  channels = "16" >
44                <irq srcid = "0"  srctype = "WTI"  isr = "ISR_WAKUP"                  dstx = "0"  dsty = "0"  dstid = "0" />
45                <irq srcid = "1"  srctype = "WTI"  isr = "ISR_WAKUP"                  dstx = "0"  dsty = "0"  dstid = "1" />
46                <irq srcid = "2"  srctype = "WTI"  isr = "ISR_WAKUP"                  dstx = "0"  dsty = "0"  dstid = "2" />
47                <irq srcid = "3"  srctype = "WTI"  isr = "ISR_WAKUP"                  dstx = "0"  dsty = "0"  dstid = "3" />
48                <irq srcid = "4"  srctype = "WTI"  isr = "ISR_NIC_RX"  channel = "0"  dstx = "0"  dsty = "0"  dstid = "0" />
49                <irq srcid = "5"  srctype = "WTI"  isr = "ISR_NIC_RX"  channel = "1"  dstx = "0"  dsty = "0"  dstid = "0" />
50                <irq srcid = "6"  srctype = "WTI"  isr = "ISR_NIC_TX"  channel = "0"  dstx = "0"  dsty = "0"  dstid = "0" />
51                <irq srcid = "7"  srctype = "WTI"  isr = "ISR_NIC_TX"  channel = "1"  dstx = "0"  dsty = "0"  dstid = "0" />
52                <irq srcid = "8"  srctype = "WTI"  isr = "ISR_CMA"     channel = "0"  dstx = "0"  dsty = "0"  dstid = "0" />
53                <irq srcid = "9"  srctype = "WTI"  isr = "ISR_CMA"     channel = "1"  dstx = "0"  dsty = "0"  dstid = "0" />
54                <irq srcid = "10" srctype = "WTI"  isr = "ISR_CMA"     channel = "2"  dstx = "0"  dsty = "0"  dstid = "0" />
55                <irq srcid = "11" srctype = "WTI"  isr = "ISR_CMA"     channel = "3"  dstx = "0"  dsty = "0"  dstid = "0" />
56                <irq srcid = "12" srctype = "WTI"  isr = "ISR_BDV"     channel = "0"  dstx = "0"  dsty = "0"  dstid = "0" />
57                <irq srcid = "13" srctype = "WTI"  isr = "ISR_TTY_RX"  channel = "0"  dstx = "0"  dsty = "0"  dstid = "0" />
58
59                <irq srcid = "0"  srctype = "PTI"  isr = "ISR_TICK"                   dstx = "0"  dsty = "0"  dstid = "0" />
60                <irq srcid = "1"  srctype = "PTI"  isr = "ISR_TICK"                   dstx = "0"  dsty = "0"  dstid = "1" />
61                <irq srcid = "2"  srctype = "PTI"  isr = "ISR_TICK"                   dstx = "0"  dsty = "0"  dstid = "2" />
62                <irq srcid = "3"  srctype = "PTI"  isr = "ISR_TICK"                   dstx = "0"  dsty = "0"  dstid = "3" />
63
64                <irq srcid = "8"  srctype = "HWI"  isr = "ISR_DEFAULT"                dstx = "0"  dsty = "0"  dstid = "0" />
65                <irq srcid = "9"  srctype = "HWI"  isr = "ISR_BDV"     channel = "0"  dstx = "0"  dsty = "0"  dstid = "0" />
66                <irq srcid = "10" srctype = "HWI"  isr = "ISR_TTY_RX"  channel = "0"  dstx = "0"  dsty = "0"  dstid = "0" />
67            </periph>
68        </cluster>
69
70        <cluster x = "0" y = "1" >
71            <pseg name = "PSEG_RAM"  type = "RAM"  base = "0x0100000000" length = "0x0400000000" />
72            <pseg name = "PSEG_XCU"  type = "PERI" base = "0x01F0000000" length = "0x0000002000" />
73            <pseg name = "PSEG_MMC"  type = "PERI" base = "0x01E0000000" length = "0x0000001000" />
74
75            <proc index  = "0" />
76            <proc index  = "1" />
77            <proc index  = "2" />
78            <proc index  = "3" />
79
80            <periph type = "MMC"  psegname = "PSEG_MMC" >
81            </periph>
82            <periph type = "XCU"  psegname = "PSEG_XCU"  channels = "16" >
83                <irq srcid = "0"  srctype = "WTI"  isr = "ISR_WAKUP"                  dstx = "0"  dsty = "1"  dstid = "0" />
84                <irq srcid = "1"  srctype = "WTI"  isr = "ISR_WAKUP"                  dstx = "0"  dsty = "1"  dstid = "1" />
85                <irq srcid = "2"  srctype = "WTI"  isr = "ISR_WAKUP"                  dstx = "0"  dsty = "1"  dstid = "2" />
86                <irq srcid = "3"  srctype = "WTI"  isr = "ISR_WAKUP"                  dstx = "0"  dsty = "1"  dstid = "3" />
87
88                <irq srcid = "0"  srctype = "PTI"  isr = "ISR_TICK"                   dstx = "0"  dsty = "1"  dstid = "0" />
89                <irq srcid = "1"  srctype = "PTI"  isr = "ISR_TICK"                   dstx = "0"  dsty = "1"  dstid = "1" />
90                <irq srcid = "2"  srctype = "PTI"  isr = "ISR_TICK"                   dstx = "0"  dsty = "1"  dstid = "2" />
91                <irq srcid = "3"  srctype = "PTI"  isr = "ISR_TICK"                   dstx = "0"  dsty = "1"  dstid = "3" />
92
93                <irq srcid = "8"  srctype = "HWI"  isr = "ISR_DEFAULT"                dstx = "0"  dsty = "1"  dstid = "0" />
94            </periph>
95        </cluster>
96
97        <cluster x = "1" y = "0" >
98            <pseg name = "PSEG_RAM"  type = "RAM"  base = "0x1000000000" length = "0x0400000000" />
99            <pseg name = "PSEG_XCU"  type = "PERI" base = "0x10F0000000" length = "0x0000002000" />
100            <pseg name = "PSEG_MMC"  type = "PERI" base = "0x10E0000000" length = "0x0000001000" />
101
102            <proc index  = "0" />
103            <proc index  = "1" />
104            <proc index  = "2" />
105            <proc index  = "3" />
106
107            <periph type = "MMC"  psegname = "PSEG_MMC" >
108            </periph>
109            <periph type = "XCU"  psegname = "PSEG_XCU"  channels = "16" >
110                <irq srcid = "0"  srctype = "WTI"  isr = "ISR_WAKUP"                  dstx = "1"  dsty = "0"  dstid = "0" />
111                <irq srcid = "1"  srctype = "WTI"  isr = "ISR_WAKUP"                  dstx = "1"  dsty = "0"  dstid = "1" />
112                <irq srcid = "2"  srctype = "WTI"  isr = "ISR_WAKUP"                  dstx = "1"  dsty = "0"  dstid = "2" />
113                <irq srcid = "3"  srctype = "WTI"  isr = "ISR_WAKUP"                  dstx = "1"  dsty = "0"  dstid = "3" />
114
115                <irq srcid = "0"  srctype = "PTI"  isr = "ISR_TICK"                   dstx = "1"  dsty = "0"  dstid = "0" />
116                <irq srcid = "1"  srctype = "PTI"  isr = "ISR_TICK"                   dstx = "1"  dsty = "0"  dstid = "1" />
117                <irq srcid = "2"  srctype = "PTI"  isr = "ISR_TICK"                   dstx = "1"  dsty = "0"  dstid = "2" />
118                <irq srcid = "3"  srctype = "PTI"  isr = "ISR_TICK"                   dstx = "1"  dsty = "0"  dstid = "3" />
119
120                <irq srcid = "8"  srctype = "HWI"  isr = "ISR_DEFAULT"                dstx = "1"  dsty = "0"  dstid = "0" />
121            </periph>
122        </cluster>
123
124        <cluster x = "1" y = "1" >
125            <pseg name = "PSEG_RAM"  type = "RAM"  base = "0x1100000000" length = "0x0400000000" />
126            <pseg name = "PSEG_XCU"  type = "PERI" base = "0x11F0000000" length = "0x0000002000" />
127            <pseg name = "PSEG_MMC"  type = "PERI" base = "0x11E0000000" length = "0x0000001000" />
128
129            <proc index  = "0" />
130            <proc index  = "1" />
131            <proc index  = "2" />
132            <proc index  = "3" />
133
134            <periph type = "MMC"  psegname = "PSEG_MMC" >
135            </periph>
136            <periph type = "XCU"  psegname = "PSEG_XCU"  channels = "16" >
137                <irq srcid = "0"  srctype = "WTI"  isr = "ISR_WAKUP"                  dstx = "1"  dsty = "1"  dstid = "0" />
138                <irq srcid = "1"  srctype = "WTI"  isr = "ISR_WAKUP"                  dstx = "1"  dsty = "1"  dstid = "1" />
139                <irq srcid = "2"  srctype = "WTI"  isr = "ISR_WAKUP"                  dstx = "1"  dsty = "1"  dstid = "2" />
140                <irq srcid = "3"  srctype = "WTI"  isr = "ISR_WAKUP"                  dstx = "1"  dsty = "1"  dstid = "3" />
141
142                <irq srcid = "0"  srctype = "PTI"  isr = "ISR_TICK"                   dstx = "1"  dsty = "1"  dstid = "0" />
143                <irq srcid = "1"  srctype = "PTI"  isr = "ISR_TICK"                   dstx = "1"  dsty = "1"  dstid = "1" />
144                <irq srcid = "2"  srctype = "PTI"  isr = "ISR_TICK"                   dstx = "1"  dsty = "1"  dstid = "2" />
145                <irq srcid = "3"  srctype = "PTI"  isr = "ISR_TICK"                   dstx = "1"  dsty = "1"  dstid = "3" />
146
147                <irq srcid = "8"  srctype = "HWI"  isr = "ISR_DEFAULT"                dstx = "1"  dsty = "1"  dstid = "0" />
148            </periph>
149        </cluster>
150
151*** empty cluster
152
153        <cluster x = "0" y = "2" >
154        </cluster>
155
156*** cluster_io
157
158        <cluster x = "1" y = "2" >
159            <pseg name = "PSEG_IOC"  type = "PERI" base = "0x12F2000000" length = "0x0000001000" /> 
160            <pseg name = "PSEG_FBF"  type = "PERI" base = "0x12F3000000" length = "0x0000004000" /> 
161            <pseg name = "PSEG_TTY"  type = "PERI" base = "0x12F4000000" length = "0x0000001000" /> 
162            <pseg name = "PSEG_NIC"  type = "PERI" base = "0x12F7000000" length = "0x0000080000" />
163            <pseg name = "PSEG_CMA"  type = "PERI" base = "0x12F8000000" length = "0x0000008000" />
164            <pseg name = "PSEG_PIC"  type = "PERI" base = "0x12F9000000" length = "0x0000004000" />
165
166            <periph type = "IOC"  psegname = "PSEG_IOC"  subtype = "BDV" > 
167            </periph>
168            <periph type = "FBF"  psegname = "PSEG_FBF" >
169            </periph>
170            <periph type = "TTY"  psegname = "PSEG_TTY"  channels = "1" > 
171            </periph>
172            <periph type = "NIC"  psegname = "PSEG_NIC"  channels = "2" >
173            </periph>
174            <periph type = "CMA"  psegname = "PSEG_CMA"  channels = "4" >
175            </periph>
176            <periph type = "PIC"  psegname = "PSEG_PIC"  channels = "32" >
177                <irq srcid = "0"  srctype  = "HWI"  isr = "ISR_NIC_RX" channel = "0"  dstx = "0"  dsty = "0"  dstid = "4"  />
178                <irq srcid = "1"  srctype  = "HWI"  isr = "ISR_NIC_RX" channel = "1"  dstx = "0"  dsty = "0"  dstid = "5"  />
179
180                <irq srcid = "2"  srctype  = "HWI"  isr = "ISR_NIC_TX" channel = "0"  dstx = "0"  dsty = "0"  dstid = "6"  />
181                <irq srcid = "3"  srctype  = "HWI"  isr = "ISR_NIC_TX" channel = "1"  dstx = "0"  dsty = "0"  dstid = "7"  />
182
183                <irq srcid = "4"  srctype  = "HWI"  isr = "ISR_CMA"    channel = "0"  dstx = "0"  dsty = "0"  dstid = "8"  />
184                <irq srcid = "5"  srctype  = "HWI"  isr = "ISR_CMA"    channel = "1"  dstx = "0"  dsty = "0"  dstid = "9"  />
185                <irq srcid = "6"  srctype  = "HWI"  isr = "ISR_CMA"    channel = "2"  dstx = "0"  dsty = "0"  dstid = "10" />
186                <irq srcid = "7"  srctype  = "HWI"  isr = "ISR_CMA"    channel = "3"  dstx = "0"  dsty = "0"  dstid = "11" />
187
188                <irq srcid = "8"  srctype  = "HWI"  isr = "ISR_BDV"    channel = "0"  dstx = "0"  dsty = "0"  dstid = "12" />
189
190                <irq srcid = "16" srctype  = "HWI"  isr = "ISR_TTY_RX" channel = "0"  dstx = "0"  dsty = "0"  dstid = "13" />
191            </periph>
192        </cluster>
193
194    </clusterset>
195
196    <globalset> 
197
198*** Global vsegs associated to peripherals  replicated in all clusters (XCU, MMC, SCHED)
199*** must respect the following policy (checked by the XML parser) :
200*** For segments replicated in all clusters
201*** vbase[x,y] = vbase[0,0] + 64K * cluster_xy
202*** pbase[x,y] = pbase[0,0] + 4G  * cluster_xy
203*** ( with cluster_xy = x*16 + y )
204*** the vseg type is entirely defined by the 8 virtual address MSB bits (mask_type = 0xFF000000)
205*** The cluster index must be encoded in the next 8 virtual address bits (cluster_mask = 0x00FF0000)
206
207*** 5 global vsegs used by the boot code / A[31:28] = 0x0 / Identity mapping
208*** seg_boot_mapping is loaded by the boot-loader. It contains the mapping info.  Reused by the kernel.
209*** seg_boot_code and seg_boot data are loaded by the preloader, used by the boot-loader.  Not reused by the kernel.
210*** seg_boot_stack contains the stacks used by all processors during reset and boot.  Not reused by the Kernel.
211*** seg_boot_buffer is used by the boot-loader. It contains a complete .elf file.  Not reused by the kernel.
212
213        <vseg name = "seg_boot_code"      vbase = "0x00010000" mode = "CXW_" x = "0" y = "0" psegname = "PSEG_RAM" ident = "1" >
214            <vobj name = "boot_code"      type = "BUFFER" length = "0x00020000" />
215        </vseg>
216        <vseg name = "seg_boot_data"      vbase = "0x00030000" mode = "C_W_" x = "0" y = "0" psegname = "PSEG_RAM" ident = "1" >
217            <vobj name = "boot_data"      type = "BUFFER" length = "0x00010000" />
218        </vseg>
219        <vseg name = "seg_boot_buffer"    vbase = "0x00040000" mode = "C_W_" x = "0" y = "0" psegname = "PSEG_RAM" ident = "1" >
220            <vobj name = "boot_buffer"    type = "BUFFER" length = "0x00060000" />
221        </vseg>
222        <vseg name = "seg_boot_stack"     vbase = "0x000A0000" mode = "C_W_" x = "0" y = "0" psegname = "PSEG_RAM" ident = "1" >
223            <vobj name = "boot_stack"     type = "BUFFER" length = "0x00050000" />
224        </vseg>
225        <vseg name = "seg_boot_mapping"   vbase = "0x000F0000" mode = "C_W_" x = "0" y = "0" psegname = "PSEG_RAM" ident = "1" >
226            <vobj name = "boot_mapping"   type = "BLOB"   length = "0x00010000" binpath = "map.bin" />
227        </vseg>
228       
229*** 4 global vsegs used by the kernel / A[31:28] = 0x8  / No identity mapping constraint
230 
231        <vseg name = "seg_kernel_code"    vbase = "0x80000000" mode = "CXW_" x = "0" y = "0" psegname = "PSEG_RAM" > 
232            <vobj name = "kernel_code"    type = "ELF" length = "0x00020000" binpath = "build/kernel/kernel.elf" />
233        </vseg>
234        <vseg name = "seg_kernel_data"    vbase = "0x80020000" mode = "C_W_" x = "0" y = "0" psegname = "PSEG_RAM" > 
235            <vobj name = "kernel_data"    type = "ELF" length = "0x00060000" binpath = "build/kernel/kernel.elf" />
236                </vseg>
237        <vseg name = "seg_kernel_uncdata" vbase = "0x80080000" mode = "__W_" x = "0" y = "0" psegname = "PSEG_RAM" > 
238            <vobj name = "kernel_uncdata" type = "ELF" length = "0x00040000" binpath = "build/kernel/kernel.elf" />
239        </vseg>
240        <vseg name = "seg_kernel_init"    vbase = "0x800C0000" mode = "CXW_" x = "0" y = "0" psegname = "PSEG_RAM" > 
241            <vobj name = "kernel_init"    type = "ELF" length = "0x00010000" binpath = "build/kernel/kernel.elf" />
242        </vseg>
243
244*** 6 global vsegs for non replicated peripherals in cluster(1,2) / A[31:28] = 0xF /
245
246        <vseg name = "seg_ioc"            vbase = "0xF2000000" mode = "__W_" x = "1" y = "2" psegname = "PSEG_IOC" >
247            <vobj name = "ioc"            type = "PERI" length  = "0x00001000" /> 
248        </vseg>
249        <vseg name = "seg_tty"            vbase = "0xF4000000" mode = "__W_" x = "1" y = "2" psegname = "PSEG_TTY" >
250                        <vobj name = "tty"            type = "PERI" length  = "0x00001000" />
251        </vseg>
252        <vseg name = "seg_nic"            vbase = "0xF5000000" mode = "__W_" x = "1" y = "2" psegname = "PSEG_NIC" >
253            <vobj name = "nic"            type = "PERI" length  = "0x00080000" /> 
254        </vseg>
255        <vseg name = "seg_cma"            vbase = "0xF8000000" mode = "__W_" x = "1" y = "2" psegname = "PSEG_CMA" >
256            <vobj name = "cma"            type = "PERI" length  = "0x00008000" /> 
257        </vseg>
258        <vseg name = "seg_fbf"            vbase = "0xF3000000" mode = "__W_" x = "1" y = "2" psegname = "PSEG_FBF" >
259            <vobj name = "fbf"            type = "PERI" length  = "0x00004000" /> 
260        </vseg>
261        <vseg name = "seg_pic"            vbase = "0xF9000000" mode = "__W_" x = "1" y = "2" psegname = "PSEG_PIC" >
262            <vobj name = "pic"            type = "PERI" length  = "0x00004000" /> 
263        </vseg>
264
265*** 1 global vseg for pseudo-peripherals (PRELOADER) / A[31:28] = 0x0
266
267        <vseg name = "seg_reset_code"     vbase = "0x00000000" mode = "CX__" x = "0" y = "0" psegname = "PSEG_RAM" ident = "1" >
268            <vobj name = "preloader"      type = "BUFFER" length  = "0x00010000" /> 
269        </vseg>
270
271*** 4 global vsegs for replicated ICUS / A[31:24] = 0xF0 / Increment = 0x10000 / Identity mapping in cluster (0,0)           
272
273        <vseg name = "seg_icu_0"          vbase = "0xF0000000" mode = "__W_" x = "0" y = "0" psegname = "PSEG_XCU" ident = "1" > 
274            <vobj name = "icu_0"          type = "PERI" length  = "0x00001000" /> 
275        </vseg>
276        <vseg name = "seg_icu_1"          vbase = "0xF0010000" mode = "__W_" x = "0" y = "1" psegname = "PSEG_XCU" > 
277            <vobj name = "icu_1"          type = "PERI" length  = "0x00001000" /> 
278        </vseg>
279        <vseg name = "seg_icu_2"          vbase = "0xF0100000" mode = "__W_" x = "1" y = "0" psegname = "PSEG_XCU" > 
280            <vobj name = "icu_2"          type = "PERI" length  = "0x00001000" /> 
281        </vseg>
282        <vseg name = "seg_icu_3"          vbase = "0xF0110000" mode = "__W_" x = "1" y = "1" psegname = "PSEG_XCU" > 
283            <vobj name = "icu_3"          type = "PERI" length  = "0x00001000" /> 
284        </vseg>
285
286*** 4 global vsegs for replicated MMC / A[31:24] = 0xE0 / Increment = 0x10000 / Identity mapping in cluster 0
287
288        <vseg name = "seg_memc_0"         vbase = "0xE0000000" mode = "__W_" x = "0" y = "0" psegname = "PSEG_MMC" ident = "1" >
289            <vobj name = "memc_0"         type = "PERI" length  = "0x00001000" />
290        </vseg>
291        <vseg name = "seg_memc_1"         vbase = "0xE0010000" mode = "__W_" x = "0" y = "1" psegname = "PSEG_MMC" >
292            <vobj name = "memc_1"         type = "PERI" length  = "0x00001000" />
293        </vseg>
294        <vseg name = "seg_memc_2"         vbase = "0xE0100000" mode = "__W_" x = "1" y = "0" psegname = "PSEG_MMC" >
295            <vobj name = "memc_2"         type = "PERI" length  = "0x00001000" />
296        </vseg>
297        <vseg name = "seg_memc_3"         vbase = "0xE0110000" mode = "__W_" x = "1" y = "1" psegname = "PSEG_MMC" >
298            <vobj name = "memc_3"         type = "PERI" length  = "0x00001000" />
299        </vseg>
300
301*** 4 global vsegs for replicated schedulers / A[31:28] = 0xC / Increment = 0x10000
302
303        <vseg name = "seg_sched_0"        vbase = "0xC0000000" mode = "C_W_" x = "0" y = "0" psegname = "PSEG_RAM" >
304            <vobj name = "sched_0"        type = "SCHED" length  = "0x00008000" />
305        </vseg>
306        <vseg name = "seg_sched_1"        vbase = "0xC0010000" mode = "C_W_" x = "0" y = "1" psegname = "PSEG_RAM" >
307            <vobj name = "sched_1"        type = "SCHED" length  = "0x00008000" />
308        </vseg>
309        <vseg name = "seg_sched_2"        vbase = "0xC0100000" mode = "C_W_" x = "1" y = "0" psegname = "PSEG_RAM" >
310            <vobj name = "sched_2"        type = "SCHED" length  = "0x00008000" />
311        </vseg>
312        <vseg name = "seg_sched_3"        vbase = "0xC0110000" mode = "C_W_" x = "1" y = "1" psegname = "PSEG_RAM" >
313            <vobj name = "sched_3"        type = "SCHED" length  = "0x00008000" />
314        </vseg>
315
316    </globalset> 
317
318    <vspaceset>
319
320*** For each vspace, the startname field is the name of the vobj containing the start_vector (entry point array)
321*** For each task, the startid field define the task entry point as an index in the start_vector
322*** For each task, the clusterid and proclocid arguments define the task static placement
323*** For each task, the stackname field is the name of the vobj containing the task stack
324*** For each task, the heapname field is the name of the vobj containing the task heap
325
326        <vspace name = "sort" startname = "sort_data" > 
327            <vseg name = "seg_sort_code"     vbase = "0x00400000" mode = "CXWU" x = "1" y = "1" psegname = "PSEG_RAM" > 
328                <vobj name = "sort_code"     type  = "ELF" length = "0x00010000" binpath = "build/sort/sort.elf" /> 
329            </vseg>
330            <vseg name = "seg_sort_data"     vbase = "0x00500000" mode = "C_WU" x = "1" y = "1" psegname = "PSEG_RAM" >
331                <vobj name = "sort_data"     type  = "ELF" length = "0x00010000" binpath = "build/sort/sort.elf" />
332            </vseg>
333            <vseg name = "seg_sort_ptab"     vbase = "0x00600000" mode = "C_W_" x = "1" y = "1" psegname = "PSEG_RAM" > 
334                <vobj name = "sort_ptab"     type  = "PTAB" length  = "0x00020000" align = "13" />
335            </vseg>
336            <vseg name = "seg_sort_stack_0"  vbase = "0x00200000" mode = "C_WU" x = "0" y = "0" psegname = "PSEG_RAM" >
337                <vobj name = "sort_stack_00" type  = "BUFFER" length = "0x00010000" /> 
338                <vobj name = "sort_stack_01" type  = "BUFFER" length = "0x00010000" /> 
339                <vobj name = "sort_stack_02" type  = "BUFFER" length = "0x00010000" /> 
340                <vobj name = "sort_stack_03" type  = "BUFFER" length = "0x00010000" /> 
341                <vobj name = "sort_heap_0"   type  = "BUFFER" length = "0x00040000" /> 
342            </vseg>
343            <vseg name = "seg_sort_stack_1"  vbase = "0x00280000" mode = "C_WU" x = "0" y = "1" psegname = "PSEG_RAM" >
344                <vobj name = "sort_stack_10" type  = "BUFFER" length = "0x00010000" /> 
345                <vobj name = "sort_stack_11" type  = "BUFFER" length = "0x00010000" /> 
346                <vobj name = "sort_stack_12" type  = "BUFFER" length = "0x00010000" /> 
347                <vobj name = "sort_stack_13" type  = "BUFFER" length = "0x00010000" /> 
348                <vobj name = "sort_heap_1"   type  = "BUFFER" length = "0x00040000" /> 
349            </vseg>
350            <vseg name = "seg_sort_stack_2"  vbase = "0x00300000" mode = "C_WU" x = "1" y = "0" psegname = "PSEG_RAM" >
351                <vobj name = "sort_stack_20" type  = "BUFFER" length = "0x00010000" /> 
352                <vobj name = "sort_stack_21" type  = "BUFFER" length = "0x00010000" /> 
353                <vobj name = "sort_stack_22" type  = "BUFFER" length = "0x00010000" /> 
354                <vobj name = "sort_stack_23" type  = "BUFFER" length = "0x00010000" /> 
355                <vobj name = "sort_heap_2"   type  = "BUFFER" length = "0x00040000" /> 
356            </vseg>
357            <vseg name = "seg_sort_stack_3"  vbase = "0x00380000" mode = "C_WU" x = "1" y = "1" psegname = "PSEG_RAM" >
358                <vobj name = "sort_stack_30" type  = "BUFFER" length = "0x00010000" /> 
359                <vobj name = "sort_stack_31" type  = "BUFFER" length = "0x00010000" /> 
360                <vobj name = "sort_stack_32" type  = "BUFFER" length = "0x00010000" /> 
361                <vobj name = "sort_stack_33" type  = "BUFFER" length = "0x00010000" /> 
362                <vobj name = "sort_heap_3"   type  = "BUFFER" length = "0x00040000" /> 
363            </vseg>
364
365*** This vobj emulates a command line argument for the sort application
366
367                        <vseg name = "seg_params"       vbase = "0x00100000" mode = "C_WU" x = "0" y = "0" psegname = "PSEG_RAM" >
368                                <vobj name = "nb_thread"    type  = "CONST"  length = "0x4" init = "16" />
369                        </vseg>
370
371            <task name = "sort_00" x = "0" y = "0" proclocid = "0" stackname = "sort_stack_00"  heapname = "sort_heap_0" startid = "0"  />
372            <task name = "sort_01" x = "0" y = "0" proclocid = "1" stackname = "sort_stack_01"  heapname = "sort_heap_0" startid = "0"  />
373            <task name = "sort_02" x = "0" y = "0" proclocid = "2" stackname = "sort_stack_02"  heapname = "sort_heap_0" startid = "0"  />
374            <task name = "sort_03" x = "0" y = "0" proclocid = "3" stackname = "sort_stack_03"  heapname = "sort_heap_0" startid = "0"  />
375
376            <task name = "sort_10" x = "0" y = "1" proclocid = "0" stackname = "sort_stack_10"  heapname = "sort_heap_1" startid = "0"  />
377            <task name = "sort_11" x = "0" y = "1" proclocid = "1" stackname = "sort_stack_11"  heapname = "sort_heap_1" startid = "0"  />
378            <task name = "sort_12" x = "0" y = "1" proclocid = "2" stackname = "sort_stack_12"  heapname = "sort_heap_1" startid = "0"  />
379            <task name = "sort_13" x = "0" y = "1" proclocid = "3" stackname = "sort_stack_13"  heapname = "sort_heap_1" startid = "0"  />
380
381            <task name = "sort_20" x = "1" y = "0" proclocid = "0" stackname = "sort_stack_20"  heapname = "sort_heap_2" startid = "0"  />
382            <task name = "sort_21" x = "1" y = "0" proclocid = "1" stackname = "sort_stack_21"  heapname = "sort_heap_2" startid = "0"  />
383            <task name = "sort_22" x = "1" y = "0" proclocid = "2" stackname = "sort_stack_22"  heapname = "sort_heap_2" startid = "0"  />
384            <task name = "sort_23" x = "1" y = "0" proclocid = "3" stackname = "sort_stack_23"  heapname = "sort_heap_2" startid = "0"  />
385
386            <task name = "sort_30" x = "1" y = "1" proclocid = "0" stackname = "sort_stack_30"  heapname = "sort_heap_3" startid = "0"  />
387            <task name = "sort_31" x = "1" y = "1" proclocid = "1" stackname = "sort_stack_31"  heapname = "sort_heap_3" startid = "0"  />
388            <task name = "sort_32" x = "1" y = "1" proclocid = "2" stackname = "sort_stack_32"  heapname = "sort_heap_3" startid = "0"  />
389            <task name = "sort_33" x = "1" y = "1" proclocid = "3" stackname = "sort_stack_33"  heapname = "sort_heap_3" startid = "0"  />
390        </vspace>
391    </vspaceset>
392</mapping_info>   
393
394
395
396
397 
Note: See TracBrowser for help on using the repository browser.