Changeset 253 for soft/giet_vm/xml/mapping_info.h
- Timestamp:
- Aug 14, 2013, 11:19:29 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
soft/giet_vm/xml/mapping_info.h
r249 r253 5 5 // Copyright (c) UPMC-LIP6 6 6 //////////////////////////////////////////////////////////////////////////// 7 // The MAPPING_INFO data structure can be used with the GIET. 8 // It contains the mapping directive for one or several virtual spaces. 9 // Ech virtual space contains a variable number of virtual segments 7 // The MAPPING_INFO data structure, used by the GIET_VM kernel contains: 8 // 9 // 1) a description of a clusterized hardware architecture. 10 // The number of cluster is variable (can be one). The number of processors 11 // per cluster is variable (can be one). The number of peripherals per cluser 12 // and coprocessor per cluster is variable. The number of physical memory 13 // banks per cluster is variable. 14 // 15 // 2/ a description of the applications (called vspaces) to be - statically - 16 // launched on the platform. The number of parallel tasks per application is 17 // variable (can be one). Multi-Writer/Multi-Reader communication channels 18 // betwwen tasks are supported. Each vspace contains a variable number 19 // of virtual segments (called vsegs). 20 // 21 // 3/ the mapping directives: both tasks on processors, and software objects 22 // (vobjs and vsegs) on the physical memory banks (called psegs). 10 23 // and a variable number of tasks. The number of virtual space can be one. 11 24 // 12 // The mapping tabledata structure is organised as the concatenation of13 // a fixed size header, and 6variable size arrays:25 // The mapping_info data structure is organised as the concatenation of 26 // a fixed size header, and 11 variable size arrays: 14 27 // 15 28 // - mapping_cluster_t cluster[] … … 19 32 // - mapping_vseg_t vobj[] 20 33 // - mapping_task_t task[] 21 // - mapping_irq_t irq[irqs] 34 // - mapping_proc_t proc[] 35 // - mapping_irq_t irq[] 22 36 // - mapping_coproc_t coproc[] 23 37 // - mapping_cp_port_t cp_port[] 24 38 // - mapping_periph_t periph[] 25 39 // 26 // It is intended to be stored in the boot ROMat address MAPPING_BOOT_BASE.40 // It is intended to be stored in memory at address MAPPING_BOOT_BASE. 27 41 //////////////////////////////////////////////////////////////////////////// 28 42 … … 75 89 }; 76 90 91 // The enum definitions for psegType and periphType must be kept 92 // consistent with the definitions in the xml_driver.c file... 77 93 78 94 enum periphType … … 82 98 PERIPH_TYPE_DMA = 2, 83 99 PERIPH_TYPE_MMC = 3, 84 85 100 PERIPH_TYPE_CMA = 4, 86 101 PERIPH_TYPE_IOC = 5, … … 90 105 PERIPH_TYPE_IOB = 9, 91 106 PERIPH_TYPE_GCD = 10, 92 93 PERIPH_TYPE_MAX_VALUE = 11, 107 PERIPH_TYPE_XCU = 11, 108 109 PERIPH_TYPE_MAX_VALUE = 12, 94 110 }; 95 111 … … 112 128 unsigned int globals; // number of vsegs mapped in all vspaces 113 129 unsigned int vspaces; // number of virtual spaces 130 unsigned int increment; // vseg cluster increment for replicated periphs 114 131 115 132 unsigned int tty_cluster; // index of cluster containing TTY controler … … 270 287 typedef struct __attribute__((packed)) mapping_periph_s 271 288 { 272 unsigned int type; // IOC / TTY / TIM / DMA / FBF / NIC / IOB289 unsigned int type; 273 290 unsigned int psegid; // pseg index in cluster 274 291 unsigned int channels; // number of channels
Note: See TracChangeset
for help on using the changeset viewer.