source: branches/fault_tolerance/softs/tsar_boot/README @ 728

Last change on this file since 728 was 724, checked in by cfuguet, 10 years ago

branches/fault_tolerance:

  • Recreating fault_tolerance branch with all new modifications from trunk.
  • Introducing distributed boot rom in the tsar_generic_iob platform
File size: 3.2 KB
Line 
1TSAR BOOT LOADER
2
3Files:
4===============================================================================
5src/        Source files
6            The entry point of this boot loader is the file reset.S
7
8include/    Header files
9
10conf/       Platform specific files and ldscript examples.
11            For each platform, we must define a new directory.
12
13            - defs_platform.h:
14
15              This file is mandatory. This file defines the NB_PROCS per
16              cluster, the NB_CLUSTERS and the base address of the TTY, IOC,
17              XICU and MEMC (config) devices. It defines also:
18
19                #define USE_IOB
20
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 memory cache after the transfert
24                  has finished.
25
26                #define CACHE_COHERENCE
27
28                  This constant is used by the boot_ioc_read function to know
29                  if the buffer used to store the blocks from the block_device
30                  must be invalidated in the dcache after the transfert has
31                  finished.
32
33                #define CACHE_LINE_SIZE
34                 
35                  This constant is mandatory if CACHE_COHERENCE=0 or USE_IOB=1
36                  This constant defines the size in bytes of a cache line.
37
38                #define RESET_DEBUG
39
40                  Set value to 1 to show some debug messages during loading
41
42                #define IRQ_PER_PROC
43
44                  This constant is used to know how many XICU irq outputs are
45                  connected to each processor.
46
47            - platform_soclib.dts:
48
49              Device tree file. It is mandatory if compiling for a SOCLIB
50              platform and USE_DT=1.
51
52            - platform_fpga.dts:
53
54              Device tree file. It is mandatory if compiling for a FPGA
55              platform and USE_DT=1.
56
57            - ldscript:
58
59              LD script defining the segments of this boot loader.
60              We define two segments:
61
62                seg_stack_base:
63
64                  Base address of the stack used by processor 0 during the boot
65                  process. read-write data and bss will also be there.
66
67                seg_boot_base:
68               
69                  Base address of the code and read-only data defined for this
70                  loader
71           
72Makefile    Makefile to compile the boot loader. Arguments to pass:
73
74              PLATFORM_DIR=<platform_dir>
75   
76                Defines the directory where to find the plateform specific
77                files
78
79              SOCLIB=1
80
81                If using SOCLIB, define this flag to use the BLOCK DEVICE
82                driver and to choose the platform_soclib device tree.
83
84              RAMDISK=1
85
86                If using SOCLIB, define this flag to use a RAMDISK instead of
87                BLOCK DEVICE (Set this flag when the SOCLIB flag is also set)
88
89              USE_DT=0
90
91                If a device tree file is not used, set this flag to 0. It is
92                set by default to 1.
93
94              e.g. make PLATFORM_DIR=<platform_conf> \
95                        SOCLIB=1 \
96                        USE_DT=0 \
97                        RAMDISK=0
Note: See TracBrowser for help on using the repository browser.