2 ## Compute the location and size of where this firmware image
3 ## (linuxBIOS plus bootloader) will live in the boot rom chip.
5 default ROM_SIZE = 256 * 1024
6 default ROM_SECTION_SIZE = ROM_SIZE
7 default ROM_SECTION_OFFSET = 0
10 ## Compute the start location and size size of
11 ## The linuxBIOS bootloader.
13 default PAYLOAD_SIZE = ( ROM_SECTION_SIZE - ROM_IMAGE_SIZE )
14 default CONFIG_ROM_PAYLOAD_START = (0xffffffff - ROM_SIZE + ROM_SECTION_OFFSET + 1)
17 ## Compute where this copy of linuxBIOS will start in the boot rom
19 default _ROMBASE = ( CONFIG_ROM_PAYLOAD_START + PAYLOAD_SIZE )
22 ## Compute a range of ROM that can cached to speed up linuxBIOS,
25 ## XIP_ROM_SIZE must be a power of 2.
26 ## XIP_ROM_BASE must be a multiple of XIP_ROM_SIZE
28 default XIP_ROM_SIZE=32*1024
29 default XIP_ROM_BASE = ( _ROMBASE + ROM_IMAGE_SIZE - XIP_ROM_SIZE )
32 ## Set all of the defaults for an x86 architecture
38 ## Build the objects we have code for in this directory.
43 if HAVE_PIRQ_TABLE object irq_tables.o end
50 depends "$(MAINBOARD)/failover.c ./romcc"
51 action "./romcc -E -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/failover.c -o $@"
54 makerule ./failover.inc
55 depends "$(MAINBOARD)/failover.c ./romcc"
56 action "./romcc -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/failover.c -o $@"
60 depends "$(MAINBOARD)/auto.c option_table.h ./romcc"
61 action "./romcc -E -mcpu=i386 -O -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@"
64 depends "$(MAINBOARD)/auto.c option_table.h ./romcc"
65 action "./romcc -mcpu=i386 -O -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@"
69 ## Build our 16 bit and 32 bit linuxBIOS entry code
71 mainboardinit cpu/x86/16bit/entry16.inc
72 mainboardinit cpu/x86/32bit/entry32.inc
73 ldscript /cpu/x86/16bit/entry16.lds
74 ldscript /cpu/x86/32bit/entry32.lds
77 ## Build our reset vector (This is where linuxBIOS is entered)
79 mainboardinit cpu/x86/16bit/reset16.inc
80 ldscript /cpu/x86/16bit/reset16.lds
82 ### Should this be in the northbridge code?
83 mainboardinit arch/i386/lib/cpu_reset.inc
86 ## Include an id string (For safe flashing)
88 mainboardinit arch/i386/lib/id.inc
89 ldscript /arch/i386/lib/id.lds
92 ### O.k. We aren't just an intermediary anymore!
98 mainboardinit cpu/x86/fpu/enable_fpu.inc
99 mainboardinit ./auto.inc
102 ## Include the secondary Configuration files
107 chip cpu/emulation/qemu-i386
108 device pci_domain 0 on
109 device pci 0.0 on end
110 device pci 1.0 on end
111 # register "com1" = "{1}"
112 # register "com1" = "{1, 0, 0x3f8, 4}"