source: soft/tp16/correction/ldscript @ 50

Last change on this file since 50 was 43, checked in by alain, 14 years ago

Two modifs in isr.s and drivers.c to support one multi_timer
per processor in clusterized multi-processors architectures.
(same segment increment as the multi_tty)

File size: 2.4 KB
Line 
1/**********************************************************
2        File : ldscript
3        Author : Alain Greiner
4        Date : October 2009
5**********************************************************/
6
7/* definition of the base address for all segments
8The peripherals base addresses are referenced by the
9software drivers and must be defined, even if the
10peripherals are not present in the architecture */
11
12seg_reset_base  = 0xBFC00000;   /* le code de boot */
13seg_kcode_base  = 0x80000000;   /* le code du système */
14seg_kdata_base  = 0x81000000;   /* les donnees du système */
15seg_kunc_base   = 0x82000000;   /* les données non cachées du système */
16seg_code_base   = 0x00400000;   /* le code utilisateur */
17seg_data_base   = 0x10000000;   /* les données utilisateur */
18seg_stack_base  = 0x20000000;   /* la pile utilisateur */
19
20seg_tty_base    = 0x90000000;       /* controleur TTY */
21seg_timer_base  = 0x91000000;       /* controleur TIMER */
22seg_ioc_base    = 0x92000000;       /* controleur I/O */
23seg_dma_base    = 0x93000000;       /* controleur DMA */
24seg_locks_base  = 0x94000000;       /* controleur LOCKS */
25seg_gcd_base    = 0x95000000;       /* controleur GCD */
26seg_fb_base     = 0x96000000;       /* controleur FRAME BUFFER */
27seg_icu_base    = 0x9F000000;       /* controleur ICU */
28
29/* definition of various hardware parameters.
30These variables are referenced in the drivers.c file,
31and must be defined, even if the corresponding
32peripherals are not present in the architecture */
33
34NB_TTYS                 = 1;
35NB_LOCKS                = 0;
36NB_TIMERS               = 1;
37NB_PROCS                = 1;
38
39/* Maximum number of tasks per processoir
40It is referenced in the drivers.c file to compute
41the global TTY index = proc_id*NB_TASKS + task_id */
42
43NB_TASKS                = 1;
44
45/* Grouping sections into segments */
46
47SECTIONS
48{
49   . = seg_kcode_base;
50   seg_kcode : {
51      *(.giet)
52      *(.switch)
53      *(.drivers)
54      *(.isr)
55   }
56   . = seg_kdata_base;
57   seg_kdata : {
58      *(.kdata)
59   }
60   . = seg_kunc_base;
61   seg_kunc : {
62      *(.unckdata)
63   }
64   . = seg_kdata_base;
65   seg_kdata : {
66      *(.ksave)
67   }
68   . = seg_code_base;
69   seg_code : {
70      *(.text)
71   }
72   . = seg_reset_base;
73   seg_reset : {
74      *(.reset)
75   }
76   . = seg_data_base;
77   seg_data : {
78      *(.rodata)
79      . = ALIGN(4);
80      *(.rodata.*)
81      . = ALIGN(4);
82      *(.data)
83      . = ALIGN(4);
84      *(.sdata)
85      . = ALIGN(4);
86      *(.bss)
87      *(COMMON)
88      *(.sbss)
89   }
90}
91
Note: See TracBrowser for help on using the repository browser.