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 -fno-simplify-phi -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 -fno-simplify-phi -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 -fno-simplify-phi -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 -fno-simplify-phi -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
170 device pci 1f.1 on end
172 device pci 1f.2 on end
173 device pci 1f.3 on end
175 register "pirq_a_d" = "0x0b070a05"
176 register "pirq_e_h" = "0x0a808080"
178 device pci 00.0 on end
179 device pci 00.1 on end
180 device pci 01.0 on end
182 chip southbridge/intel/pxhd # pxhd1
183 # Bus bridges and ioapics usually bus 1
186 chip drivers/generic/generic
187 device pci 03.0 on end
188 device pci 03.1 on end
191 device pci 0.1 on end
192 device pci 0.2 on end
193 device pci 0.3 on end
196 device pci 04.0 on end
197 device pci 06.0 on end
199 device apic_cluster 0 on
200 chip cpu/intel/socket_mPGA604_800Mhz # cpu 0
203 chip cpu/intel/socket_mPGA604_800Mhz # cpu 1
207 register "intrline" = "0x00070105"