| [158] | 1 | /********************************************************** | 
|---|
 | 2 |         File : ldscript  | 
|---|
 | 3 |         Author : Alain Greiner | 
|---|
 | 4 |         Date : March 2011   | 
|---|
 | 5 | **********************************************************/ | 
|---|
 | 6 |  | 
|---|
 | 7 | /* definition of various hardware parameters. | 
|---|
 | 8 | These variables are referenced in the drivers.c file, | 
|---|
 | 9 | and must be defined, even if the corresponding | 
|---|
 | 10 | peripherals are not present in the architecture */ | 
|---|
 | 11 |  | 
|---|
 | 12 | NB_CLUSTERS             = 4;            /* number of clusters */ | 
|---|
 | 13 | NB_PROCS                = 4;            /* number of processors per cluster */ | 
|---|
 | 14 | NB_TASKS                = 1;            /* number of tasks per processor */ | 
|---|
 | 15 | NB_TIMERS               = 1;            /* max number of timers per processor */ | 
|---|
 | 16 | NB_LOCKS                = 8;            /* number of spin_locks */ | 
|---|
 | 17 |  | 
|---|
 | 18 | /* definition of the base address for all segments  | 
|---|
 | 19 | The peripherals base addresses are referenced by the | 
|---|
 | 20 | software drivers and must be defined, even if the  | 
|---|
 | 21 | peripherals are not present in the architecture */ | 
|---|
 | 22 |  | 
|---|
 | 23 | seg_code_base   = 0x00000000;       /* le code utilisateur */  | 
|---|
 | 24 | seg_data_base   = 0x00100000;       /* les données utilisateur */ | 
|---|
 | 25 |  | 
|---|
 | 26 | seg_heap_base   = 0x00300000;       /* le tas utilisateur */ | 
|---|
 | 27 | seg_stack_base  = 0x00800000;       /* la pile utilisateur */ | 
|---|
 | 28 |  | 
|---|
 | 29 | seg_kcode_base  = 0x80000000;       /* le code du système */ | 
|---|
 | 30 | seg_kdata_base  = 0x80100000;       /* les donnees du système */ | 
|---|
 | 31 | seg_kunc_base   = 0x80200000;       /* les données non cachées du système */ | 
|---|
 | 32 |  | 
|---|
 | 33 | seg_icu_base    = 0x00F00000;       /* controleur ICU */ | 
|---|
| [244] | 34 | seg_tty_base    = 0xBFF20000;       /* controleur TTY */ | 
|---|
 | 35 | seg_dma_base    = 0x00F30000;       /* controleur DMA */ | 
|---|
| [158] | 36 |  | 
|---|
 | 37 | seg_reset_base  = 0xBFC00000;       /* le code de boot */ | 
|---|
 | 38 | seg_fb_base     = 0xBFD00000;       /* controleur FRAME BUFFER */ | 
|---|
| [244] | 39 | seg_ioc_base    = 0xBFF10000;       /* controleur I/O */ | 
|---|
| [158] | 40 |  | 
|---|
| [244] | 41 | seg_timer_base  = 0x00F00000;       /* controleur TIMER */ | 
|---|
| [158] | 42 | seg_gcd_base    = 0xBFF50000;       /* controleur GCD */ | 
|---|
 | 43 |  | 
|---|
 | 44 | /* Grouping sections into segments */ | 
|---|
 | 45 |  | 
|---|
 | 46 | SECTIONS | 
|---|
 | 47 | { | 
|---|
 | 48 |    . = seg_kcode_base; | 
|---|
 | 49 |    seg_kcode : { | 
|---|
 | 50 |       *(.giet) | 
|---|
 | 51 |       *(.switch) | 
|---|
 | 52 |       *(.drivers) | 
|---|
 | 53 |       *(.isr) | 
|---|
 | 54 |    }  | 
|---|
 | 55 |    . = seg_kdata_base; | 
|---|
 | 56 |    seg_kdata : { | 
|---|
 | 57 |       *(.kdata) | 
|---|
 | 58 |    }  | 
|---|
 | 59 |    . = seg_kunc_base; | 
|---|
 | 60 |    seg_kunc : { | 
|---|
 | 61 |       *(.unckdata) | 
|---|
 | 62 |    }  | 
|---|
 | 63 |    . = seg_kdata_base; | 
|---|
 | 64 |    seg_kdata : { | 
|---|
 | 65 |       *(.ksave) | 
|---|
 | 66 |    }  | 
|---|
 | 67 |    . = seg_code_base; | 
|---|
 | 68 |    seg_code : { | 
|---|
 | 69 |       *(.text) | 
|---|
 | 70 |    }  | 
|---|
 | 71 |    . = seg_reset_base; | 
|---|
 | 72 |    seg_reset : { | 
|---|
 | 73 |       *(.reset) | 
|---|
 | 74 |    }  | 
|---|
 | 75 |    . = seg_data_base; | 
|---|
 | 76 |    seg_data : { | 
|---|
 | 77 |       *(.rodata) | 
|---|
 | 78 |       . = ALIGN(4); | 
|---|
 | 79 |       *(.rodata.*) | 
|---|
 | 80 |       . = ALIGN(4); | 
|---|
 | 81 |       *(.data) | 
|---|
 | 82 |       . = ALIGN(4); | 
|---|
 | 83 |       *(.sdata) | 
|---|
 | 84 |       . = ALIGN(4); | 
|---|
 | 85 |       *(.bss) | 
|---|
 | 86 |       *(COMMON) | 
|---|
 | 87 |       *(.sbss) | 
|---|
 | 88 |    }  | 
|---|
 | 89 | } | 
|---|
 | 90 |  | 
|---|