*** This mapping is for the "tsar_generic_leti" hardware architecture
*** with 4 clusters containing processors and 4 processors per cluster
*** 40 bits physical address, and 64 Mbytes per cluster.
*** It uses the external peripherals, which means 2*3 clusters, because
*** External peripherals are implemented in cluster(1,2), and the associated WTI
*** are routed by the PIC component to the XCU in cluster (0,0).
*** Cluster (0,0) contains two backup peripherals (TTY and Block Device),
*** and the corresponding HWI are connected to the XICU in cluster (0,0)
*** Four concurrent applications are launched on this 4 processors platform
*** router, hello, pgcd, display, running 7 tasks.
*** empty cluster
*** cluster_io
*** Global vsegs associated to peripherals replicated in all clusters (XCU, MMC, SCHED)
*** must respect the following policy (checked by the XML parser) :
*** vbase[x,y] = vbase[0,0] + 64K * cluster_xy
*** pbase[x,y] = pbase[0,0] + 4G * cluster_xy
*** ( with cluster_xy = x*16 + y )
*** the vseg type is entirely defined by the 8 virtual address MSB bits (mask_type = 0xFF000000)
*** The cluster index must be encoded in the next 8 virtual address bits (cluster_mask = 0x00FF0000)
*** 5 global vsegs used by the boot code / A[31:28] = 0x0 / Identity mapping
*** seg_boot_mapping is loaded by the boot-loader. It contains the mapping info. Reused by the kernel.
*** seg_boot_code and seg_boot data are loaded by the preloader, used by the boot-loader. Not reused by the kernel.
*** seg_boot_stack contains the stacks used by all processors during reset and boot. Not reused by the Kernel.
*** seg_boot_buffer is used by the boot-loader. It contains a complete .elf file. Not reused by the kernel.
*** 4 global vsegs used by the kernel / A[31:28] = 0x8 / No identity mapping constraint
*** 6 global vsegs for non replicated peripherals in cluster(1,2) / A[31:28] = 0xF /
*** 1 global vseg for pseudo-peripherals (PRELOADER) / A[31:28] = 0x0
*** 4 global vsegs for replicated ICUS / A[31:24] = 0xF0 / Increment = 0x10000 / Identity mapping in cluster (0,0)
*** 4 global vsegs for replicated MMC / A[31:24] = 0xE0 / Increment = 0x10000 / Identity mapping in cluster 0
*** 4 global vsegs for replicated schedulers / A[31:28] = 0xC / Increment = 0x10000
*** For each vspace, the startname field is the name of the vobj containing the start_vector (entry point array)
*** For each task, the startid field define the task entry point as an index in the start_vector
*** For each task, the x,y and proclocid arguments define the task static placement
*** For each task, the stackname field is the name of the vobj containing the task stack
*** For each task, the heapname field is the name of the vobj containing the task heap