| [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 */ | 
|---|
|  | 34 | seg_tty_base    = 0x00F10000;       /* controleur TTY */ | 
|---|
|  | 35 | seg_dma_base    = 0x00F20000;       /* controleur DMA */ | 
|---|
|  | 36 |  | 
|---|
|  | 37 | seg_reset_base  = 0xBFC00000;       /* le code de boot */ | 
|---|
|  | 38 | seg_fb_base     = 0xBFD00000;       /* controleur FRAME BUFFER */ | 
|---|
|  | 39 | seg_ioc_base    = 0xBFF30000;       /* controleur I/O */ | 
|---|
|  | 40 |  | 
|---|
|  | 41 | seg_timer_base  = 0xBFF40000;       /* controleur TIMER */ | 
|---|
|  | 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 |  | 
|---|