Apply linuxbios-rename-other-payload-options.patch
[coreboot.git] / src / mainboard / supermicro / x6dhr_ig / Config.lb
1 ##
2 ## Only use the option table in a normal image
3 ##
4 default USE_OPTION_TABLE = !USE_FALLBACK_IMAGE
5
6 ##
7 ## Compute the location and size of where this firmware image
8 ## (linuxBIOS plus bootloader) will live in the boot rom chip.
9 ##
10 if USE_FALLBACK_IMAGE
11         default ROM_SECTION_SIZE   = FALLBACK_SIZE
12         default ROM_SECTION_OFFSET = ( ROM_SIZE - FALLBACK_SIZE )
13 else
14         default ROM_SECTION_SIZE   = ( ROM_SIZE - FALLBACK_SIZE )
15         default ROM_SECTION_OFFSET = 0
16 end
17
18 ##
19 ## Compute the start location and size size of
20 ## The linuxBIOS bootloader.
21 ##
22 default PAYLOAD_SIZE            = ( ROM_SECTION_SIZE - ROM_IMAGE_SIZE )
23 default CONFIG_ROM_PAYLOAD_START = (0xffffffff - ROM_SIZE + ROM_SECTION_OFFSET + 1)
24
25 ##
26 ## Compute where this copy of linuxBIOS will start in the boot rom
27 ##
28 default _ROMBASE      = ( CONFIG_ROM_PAYLOAD_START + PAYLOAD_SIZE )
29
30 ##
31 ## Compute a range of ROM that can cached to speed up linuxBIOS,
32 ## execution speed.
33 ##
34 ## XIP_ROM_SIZE must be a power of 2.
35 ## XIP_ROM_BASE must be a multiple of XIP_ROM_SIZE
36 ##
37 default XIP_ROM_SIZE=131072
38 default XIP_ROM_BASE = ( _ROMBASE + ROM_IMAGE_SIZE - XIP_ROM_SIZE )
39
40 ##
41 ## Set all of the defaults for an x86 architecture
42 ##
43
44 arch i386 end
45
46 ##
47 ## Build the objects we have code for in this directory.
48 ##
49
50 driver mainboard.o
51 if HAVE_MP_TABLE object mptable.o end
52 if HAVE_PIRQ_TABLE object irq_tables.o end
53 object reset.o
54
55 ##
56 ## Romcc output
57 ##
58 makerule ./failover.E
59         depends "$(MAINBOARD)/failover.c ./romcc" 
60         action "./romcc -E -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/failover.c -o $@"
61 end
62
63 makerule ./failover.inc
64         depends "$(MAINBOARD)/failover.c ./romcc"
65         action "./romcc    -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/failover.c -o $@"
66 end
67
68 makerule ./auto.E 
69         depends "$(MAINBOARD)/auto.c option_table.h ./romcc" 
70         action  "./romcc -E -mcpu=p4 -O2 -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@"
71 end
72 makerule ./auto.inc 
73         depends "$(MAINBOARD)/auto.c option_table.h ./romcc"
74         action  "./romcc    -mcpu=p4 -O2 -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@"
75 end
76
77 ##
78 ## Build our 16 bit and 32 bit linuxBIOS entry code
79 ##
80 mainboardinit cpu/x86/16bit/entry16.inc
81 mainboardinit cpu/x86/32bit/entry32.inc
82 ldscript /cpu/x86/16bit/entry16.lds
83 ldscript /cpu/x86/32bit/entry32.lds
84
85 ##
86 ## Build our reset vector (This is where linuxBIOS is entered)
87 ##
88 if USE_FALLBACK_IMAGE 
89         mainboardinit cpu/x86/16bit/reset16.inc
90         ldscript /cpu/x86/16bit/reset16.lds
91 else
92         mainboardinit cpu/x86/32bit/reset32.inc
93         ldscript /cpu/x86/32bit/reset32.lds
94 end
95
96 ### Should this be in the northbridge code?
97 mainboardinit arch/i386/lib/cpu_reset.inc
98
99 ##
100 ## Include an id string (For safe flashing)
101 ##
102 mainboardinit arch/i386/lib/id.inc
103 ldscript /arch/i386/lib/id.lds
104
105 ###
106 ### This is the early phase of linuxBIOS startup 
107 ### Things are delicate and we test to see if we should
108 ### failover to another image.
109 ###
110 if USE_FALLBACK_IMAGE
111         ldscript /arch/i386/lib/failover.lds 
112         mainboardinit ./failover.inc
113 end
114
115 ###
116 ### O.k. We aren't just an intermediary anymore!
117 ###
118
119 ##
120 ## Setup RAM
121 ##
122 mainboardinit cpu/x86/fpu/enable_fpu.inc
123 mainboardinit cpu/x86/mmx/enable_mmx.inc
124 mainboardinit cpu/x86/sse/enable_sse.inc
125 mainboardinit ./auto.inc
126 mainboardinit cpu/x86/sse/disable_sse.inc
127 mainboardinit cpu/x86/mmx/disable_mmx.inc
128
129 ##
130 ## Include the secondary Configuration files 
131 ##
132 dir /pc80
133 config chip.h
134
135 chip northbridge/intel/e7520 # mch
136         device pci_domain 0 on 
137                 chip southbridge/intel/i82801er # i82801er
138                         # USB ports
139                         device pci 1d.0 on end
140                         device pci 1d.1 on end
141                         device pci 1d.2 on end 
142                         device pci 1d.3 on end
143                         device pci 1d.7 on end
144                 
145                         # -> VGA
146                         device pci 1e.0 on end
147                 
148                         # -> IDE
149                         device pci 1f.0 on 
150                                 chip superio/winbond/w83627hf
151                                         device pnp 2e.0 off end
152                                         device pnp 2e.2 on 
153                                                  io 0x60 = 0x3f8
154                                                 irq 0x70 = 4
155                                         end
156                                         device pnp 2e.3 on
157                                                  io 0x60 = 0x2f8
158                                                 irq 0x70 = 3
159                                         end
160                                         device pnp 2e.4 off end
161                                         device pnp 2e.5 off end
162                                         device pnp 2e.6 off end
163                                         device pnp 2e.7 off end
164                                         device pnp 2e.9 off end
165                                         device pnp 2e.a on  end
166                                         device pnp 2e.b off end
167                                 end
168                         end
169                         device pci 1f.1 on end
170                         device pci 1f.2 on end
171                         device pci 1f.3 on end
172
173                         register "pirq_a_d" = "0x0b070a05"
174                         register "pirq_e_h" = "0x0a808080"
175                 end
176                 device pci 00.0 on end 
177                 device pci 00.1  on end
178                 device pci 01.0 on end 
179                 device pci 02.0 on end 
180                 device pci 03.0 on 
181                         chip southbridge/intel/pxhd # pxhd1
182                                 # Bus bridges and ioapics usually bus 2
183                                 device pci 0.0 on end
184                                 device pci 0.1 on end
185                                 device pci 0.2 on 
186                                 # On board gig e1000
187                                         chip drivers/generic/generic 
188                                                 device pci 02.0 on end
189                                                 device pci 02.1 on end
190                                         end
191                                 end
192                                 device pci 0.3 on end
193                         end
194                 end
195                 device pci 04.0 on 
196                         chip southbridge/intel/pxhd # pxhd2
197                                 # Bus bridges and ioapics usually bus 5
198                                 device pci 0.0 on end
199                                 # Slot 6  is usually 6:2.0
200                                 device pci 0.1 on end
201                                 device pci 0.2 on end
202                                 # Slot 7 is usually 7:2.0
203                                 device pci 0.3 on end
204                         end
205                 end
206                 device pci 06.0 on end
207         end
208         device apic_cluster 0 on
209                 chip cpu/intel/socket_mPGA604_800Mhz # cpu 0
210                         device apic 0 on end
211                 end
212                 chip cpu/intel/socket_mPGA604_800Mhz # cpu 1
213                         device apic 6 on end
214                 end
215         end
216         register "intrline" = "0x00070105"
217 end
218