| [292] | 1 | TSAR BOOT LOADER | 
|---|
|  | 2 |  | 
|---|
|  | 3 | Files: | 
|---|
|  | 4 | =============================================================================== | 
|---|
|  | 5 | src/        Source files | 
|---|
| [302] | 6 | The entry point of this boot loader is the file reset.S | 
|---|
| [292] | 7 |  | 
|---|
|  | 8 | include/    Header files | 
|---|
|  | 9 |  | 
|---|
| [388] | 10 | conf/       Platform specific files and ldscript examples. | 
|---|
| [347] | 11 | For each platform, we must define a new directory. | 
|---|
| [292] | 12 |  | 
|---|
|  | 13 | --->  defs_platform.h: | 
|---|
|  | 14 |  | 
|---|
| [302] | 15 | This file is mandatory. This file defines the | 
|---|
| [292] | 16 | NB_PROCS per cluster, the NB_CLUSTERS and the base address of | 
|---|
|  | 17 | the TTY, IOC and XICU devices. | 
|---|
| [347] | 18 | It defines also: | 
|---|
| [425] | 19 |  | 
|---|
| [347] | 20 | -> CACHE_COHERENCE | 
|---|
|  | 21 | This constant is used by the boot_ioc_read function to know | 
|---|
|  | 22 | if the buffer used to store the blocks from the block_device | 
|---|
|  | 23 | must be invalidated in the dcache after the transfert has | 
|---|
|  | 24 | finished. | 
|---|
| [292] | 25 |  | 
|---|
| [347] | 26 | -> CACHE_LINE_SIZE | 
|---|
| [425] | 27 | This constant is mandatory if CACHE_COHERENCE=0 | 
|---|
| [347] | 28 | This constant defines the size in bytes of a cache line. | 
|---|
|  | 29 |  | 
|---|
| [425] | 30 | -> BOOT_DEBUG | 
|---|
|  | 31 | Set value to 1 to show some debug messages during loading | 
|---|
|  | 32 |  | 
|---|
|  | 33 | -> BOOT_DEBUG_IOC | 
|---|
|  | 34 | Set value to 1 to show some debug messages during loading | 
|---|
|  | 35 | concerning the disk accesses. | 
|---|
|  | 36 |  | 
|---|
| [347] | 37 | -> IRQ_PER_PROC | 
|---|
|  | 38 | This constant is used to know how many XICU irq outputs are | 
|---|
|  | 39 | connected to each processor. | 
|---|
|  | 40 |  | 
|---|
| [292] | 41 | --->  platform_soclib.dts: | 
|---|
|  | 42 |  | 
|---|
| [425] | 43 | Device tree file. It is mandatory if compiling for a SOCLIB | 
|---|
|  | 44 | platform and USE_DT=1. | 
|---|
| [292] | 45 |  | 
|---|
|  | 46 | --->  platform_fpga.dts: | 
|---|
| [388] | 47 |  | 
|---|
| [425] | 48 | Device tree file. It is mandatory if compiling for a FPGA platform | 
|---|
|  | 49 | and USE_DT=1. | 
|---|
| [292] | 50 |  | 
|---|
|  | 51 | --->  ldscript: | 
|---|
| [388] | 52 |  | 
|---|
| [302] | 53 | LD script defining the segments of this boot loader. | 
|---|
| [292] | 54 | We define two segments: | 
|---|
|  | 55 | seg_stack_base: Base address of the stack used by processor 0 | 
|---|
|  | 56 | during the boot process. | 
|---|
|  | 57 |  | 
|---|
|  | 58 | seg_boot_base: Base address of the code and data defined for | 
|---|
|  | 59 | this loader | 
|---|
|  | 60 |  | 
|---|
|  | 61 | Makefile    Makefile for compile the boot loader. | 
|---|
|  | 62 | Arguments to pass: | 
|---|
|  | 63 |  | 
|---|
| [388] | 64 | ---> PLATFORM_DIR=<platform_dir> | 
|---|
| [292] | 65 |  | 
|---|
|  | 66 | Defines the directory where to find the plateform specific | 
|---|
|  | 67 | files | 
|---|
|  | 68 |  | 
|---|
|  | 69 | ---> SOCLIB=1 | 
|---|
|  | 70 |  | 
|---|
|  | 71 | If using SOCLIB, define this flag to use the SOCLIB device | 
|---|
|  | 72 | drivers | 
|---|
|  | 73 |  | 
|---|
| [425] | 74 | ---> USE_DT=0 | 
|---|
| [292] | 75 |  | 
|---|
| [425] | 76 | If a device tree file is not used, set this flag to 0. It | 
|---|
|  | 77 | is set by default to 1. | 
|---|
| [292] | 78 |  | 
|---|
| [425] | 79 | e.g. make PLATFORM_DIR=conf/<platform_dir> SOCLIB=1 USE_DT=0 | 
|---|