2 ## Only use the option table in a normal image
4 default USE_OPTION_TABLE = !USE_FALLBACK_IMAGE
7 ## Compute the location and size of where this firmware image
8 ## (linuxBIOS plus bootloader) will live in the boot rom chip.
11 default ROM_SECTION_SIZE = FALLBACK_SIZE
12 default ROM_SECTION_OFFSET = ( ROM_SIZE - FALLBACK_SIZE )
14 default ROM_SECTION_SIZE = ( ROM_SIZE - FALLBACK_SIZE )
15 default ROM_SECTION_OFFSET = 0
19 ## Compute the start location and size size of
20 ## The linuxBIOS bootloader.
22 default PAYLOAD_SIZE = ( ROM_SECTION_SIZE - ROM_IMAGE_SIZE )
23 default CONFIG_ROM_PAYLOAD_START = (0xffffffff - ROM_SIZE + ROM_SECTION_OFFSET + 1)
26 ## Compute where this copy of linuxBIOS will start in the boot rom
28 default _ROMBASE = ( CONFIG_ROM_PAYLOAD_START + PAYLOAD_SIZE )
31 ## Compute a range of ROM that can cached to speed up linuxBIOS,
34 ## XIP_ROM_SIZE must be a power of 2.
35 ## XIP_ROM_BASE must be a multiple of XIP_ROM_SIZE
37 default XIP_ROM_SIZE=131072
38 default XIP_ROM_BASE = ( _ROMBASE + ROM_IMAGE_SIZE - XIP_ROM_SIZE )
41 ## Set all of the defaults for an x86 architecture
47 ## Build the objects we have code for in this directory.
51 if HAVE_MP_TABLE object mptable.o end
52 if HAVE_PIRQ_TABLE object irq_tables.o end
59 depends "$(MAINBOARD)/failover.c ./romcc"
60 action "./romcc -E -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/failover.c -o $@"
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 $@"
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 $@"
73 depends "$(MAINBOARD)/auto.c option_table.h ./romcc"
74 action "./romcc -mcpu=p4 -O2 -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@"
78 ## Build our 16 bit and 32 bit linuxBIOS entry code
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
86 ## Build our reset vector (This is where linuxBIOS is entered)
89 mainboardinit cpu/x86/16bit/reset16.inc
90 ldscript /cpu/x86/16bit/reset16.lds
92 mainboardinit cpu/x86/32bit/reset32.inc
93 ldscript /cpu/x86/32bit/reset32.lds
96 ### Should this be in the northbridge code?
97 mainboardinit arch/i386/lib/cpu_reset.inc
100 ## Include an id string (For safe flashing)
102 mainboardinit arch/i386/lib/id.inc
103 ldscript /arch/i386/lib/id.lds
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.
110 if USE_FALLBACK_IMAGE
111 ldscript /arch/i386/lib/failover.lds
112 mainboardinit ./failover.inc
116 ### O.k. We aren't just an intermediary anymore!
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
130 ## Include the secondary Configuration files
135 chip northbridge/intel/e7520 # mch
136 device pci_domain 0 on
137 chip southbridge/intel/i82801er # i82801er
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
146 device pci 1e.0 on end
150 chip superio/winbond/w83627hf
151 device pnp 2e.0 off 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
169 device pci 1f.1 on end
170 device pci 1f.2 on end
171 device pci 1f.3 on end
173 register "pirq_a_d" = "0x0b070a05"
174 register "pirq_e_h" = "0x0a808080"
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
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
187 chip drivers/generic/generic
188 device pci 02.0 on end
189 device pci 02.1 on end
192 device pci 0.3 on end
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
206 device pci 06.0 on end
208 device apic_cluster 0 on
209 chip cpu/intel/socket_mPGA604_800Mhz # cpu 0
212 chip cpu/intel/socket_mPGA604_800Mhz # cpu 1
216 register "intrline" = "0x00070105"