*** 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.
*** There is 4 IRQ inputs per processor
*** It does not use the external peripherals.
*** It uses the RAMDISK in cluster(0,0)
*** It uses the mono-channel TTY implemented in cluster(0,0).
***empty clusters
*** 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
*** 2 global vsegs for non replicated peripherals in cluster(0,0) / A[31:28] = 0xF /
*** 2 global vsegs for pseudo-peripherals (PRELOADER and RAMDISK) / 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 clusterid 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