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 ## (coreboot 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 coreboot 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 coreboot will start in the boot rom
28 default _ROMBASE =( CONFIG_ROM_PAYLOAD_START + PAYLOAD_SIZE )
31 ## Compute a range of ROM that can be cached to speed up coreboot.
33 ## XIP_ROM_SIZE must be a power of 2.
34 ## XIP_ROM_BASE must be a multiple of XIP_ROM_SIZE
35 default XIP_ROM_SIZE=131072
36 default XIP_ROM_BASE= ( _ROMBASE + ROM_IMAGE_SIZE - XIP_ROM_SIZE )
39 ## Set all of the defaults for an x86 architecture
45 ## Build the objects we have code for in this directory.
49 if HAVE_MP_TABLE object mptable.o end
50 if HAVE_PIRQ_TABLE object irq_tables.o end
57 depends "$(MAINBOARD)/failover.c ./romcc"
58 action "./romcc -E -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/failover.c -o $@"
61 makerule ./failover.inc
62 depends "$(MAINBOARD)/failover.c ./romcc"
63 action "./romcc -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/failover.c -o $@"
67 depends "$(MAINBOARD)/auto.c option_table.h ./romcc"
68 action "./romcc -E -mcpu=p4 -O2 -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@"
72 depends "$(MAINBOARD)/auto.c option_table.h ./romcc"
73 action "./romcc -mcpu=p4 -O2 -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@"
77 ## Build our 16 bit and 32 bit coreboot entry code
79 mainboardinit cpu/x86/16bit/entry16.inc
80 mainboardinit cpu/x86/32bit/entry32.inc
81 ldscript /cpu/x86/16bit/entry16.lds
82 ldscript /cpu/x86/32bit/entry32.lds
85 ## Build our reset vector (This is where coreboot is entered)
88 mainboardinit cpu/x86/16bit/reset16.inc
89 ldscript /cpu/x86/16bit/reset16.lds
91 mainboardinit cpu/x86/32bit/reset32.inc
92 ldscript /cpu/x86/32bit/reset32.lds
95 ### Should this be in the northbridge code?
96 mainboardinit arch/i386/lib/cpu_reset.inc
99 ## Include an id string (For safe flashing)
101 mainboardinit arch/i386/lib/id.inc
102 ldscript /arch/i386/lib/id.lds
105 ### This is the early phase of coreboot startup
106 ### Things are delicate and we test to see if we should
107 ### failover to another image.
109 if USE_FALLBACK_IMAGE
110 ldscript /arch/i386/lib/failover.lds
111 mainboardinit ./failover.inc
115 ### O.k. We aren't just an intermediary anymore!
121 mainboardinit cpu/x86/fpu/enable_fpu.inc
122 mainboardinit cpu/x86/mmx/enable_mmx.inc
123 mainboardinit cpu/x86/sse/enable_sse.inc
124 mainboardinit ./auto.inc
125 mainboardinit cpu/x86/sse/disable_sse.inc
126 mainboardinit cpu/x86/mmx/disable_mmx.inc
130 ## Include the secondary Configuration files
135 chip northbridge/intel/e7520 # MCH
136 chip drivers/generic/debug # DEBUGGING
137 device pnp 00.0 off end
138 device pnp 00.1 off end
139 device pnp 00.2 off end
140 device pnp 00.3 off end
142 device pci_domain 0 on
143 chip southbridge/intel/i82801er # ICH5R
144 register "pirq_a_d" = "0x0b070a05"
145 register "pirq_e_h" = "0x0a808080"
148 chip drivers/generic/generic
149 device pci 01.0 on end # onboard gige1
150 device pci 02.0 on end # onboard gige2
155 device pci 1d.0 on end
156 device pci 1d.1 on end
157 device pci 1d.4 on end # Southbridge Watchdog timer
158 device pci 1d.5 on end # Southbridge I/O apic1
159 device pci 1d.7 on end
163 chip drivers/generic/generic
164 device pci 01.0 on end
169 device pci 1f.0 on # ISA bridge
170 chip superio/nsc/pc87427
171 device pnp 2e.0 off end
180 device pnp 2e.4 off end
181 device pnp 2e.5 off end
182 device pnp 2e.6 off end
183 device pnp 2e.7 off end
184 device pnp 2e.9 off end
185 device pnp 2e.a on end
186 device pnp 2e.b off end
189 device pci 1f.1 on end
190 device pci 1f.2 on end
191 device pci 1f.3 on end # SMBus
192 device pci 1f.5 off end
193 device pci 1f.6 off end
196 device pci 00.0 on end # Northbridge
197 device pci 00.1 on end # Northbridge Error reporting
198 device pci 01.0 on end
200 chip southbridge/intel/pxhd # PXHD 6700
201 device pci 00.0 on end # bridge
202 device pci 00.1 on end # I/O apic
203 device pci 00.2 on end # bridge
204 device pci 00.3 on end # I/O apic
207 # device register "intrline" = "0x00070105"
208 device pci 04.0 on end
209 device pci 06.0 on end
212 device apic_cluster 0 on
213 chip cpu/intel/socket_mPGA604_800Mhz # CPU 0
216 chip cpu/intel/socket_mPGA604_800Mhz # CPU 1