1/*************************************************************************
2 * Processor-specific object file.  Contains SFR definitions.
3 *************************************************************************/
4INPUT("processor.o")
5
6/*************************************************************************
7 * For interrupt vector handling
8 *************************************************************************/
9PROVIDE(_vector_spacing = 0x00000001);
10_ebase_address  = 0x9FC01000;
11
12/*************************************************************************
13 * Memory Address Equates
14 *************************************************************************/
15_RESET_ADDR              = 0xBFC00000;
16_BEV_EXCPT_ADDR          = 0xBFC00380;
17_DBG_EXCPT_ADDR          = 0xBFC00480;
18_DBG_CODE_ADDR           = 0xBFC02000;
19_GEN_EXCPT_ADDR          = _ebase_address + 0x180;
20
21/*************************************************************************
22 * Memory Regions
23 *
24 * Memory regions without attributes cannot be used for orphaned sections.
25 * Only sections specifically assigned to these regions can be allocated
26 * into these regions.
27 *************************************************************************/
28MEMORY
29{
30  kseg0_program_mem    (rx)  : ORIGIN = 0x9D000000, LENGTH = 0x80000
31  kseg0_boot_mem             : ORIGIN = 0x9FC00490, LENGTH = 0x970
32  exception_mem              : ORIGIN = 0x9FC01000, LENGTH = 0x1000
33  kseg1_boot_mem             : ORIGIN = 0xBFC00000, LENGTH = 0x490
34  debug_exec_mem             : ORIGIN = 0xBFC02000, LENGTH = 0xFF0
35  config3                    : ORIGIN = 0xBFC02FF0, LENGTH = 0x4
36  config2                    : ORIGIN = 0xBFC02FF4, LENGTH = 0x4
37  config1                    : ORIGIN = 0xBFC02FF8, LENGTH = 0x4
38  config0                    : ORIGIN = 0xBFC02FFC, LENGTH = 0x4
39  kseg1_data_mem       (w!x) : ORIGIN = 0xA0000000, LENGTH = 0x20000
40  sfrs                       : ORIGIN = 0xBF800000, LENGTH = 0x100000
41  configsfrs                 : ORIGIN = 0xBFC02FF0, LENGTH = 0x10
42}
43SECTIONS
44{
45  .config_BFC02FF0 : {
46    KEEP(*(.config_BFC02FF0))
47  } > config3
48  .config_BFC02FF4 : {
49    KEEP(*(.config_BFC02FF4))
50  } > config2
51  .config_BFC02FF8 : {
52    KEEP(*(.config_BFC02FF8))
53  } > config1
54  .config_BFC02FFC : {
55    KEEP(*(.config_BFC02FFC))
56  } > config0
57  .text :
58  {
59      __fsymtab_start = .;
60	  KEEP(*(FSymTab))
61      __fsymtab_end = .;
62	  __vsymtab_start = .;
63	  KEEP(*(VSymTab))
64	  __vsymtab_end = .;
65  } > kseg0_program_mem
66}