*** 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