72253f7763eba3f2be5470b72bd81f8901a67c8b
[coreboot.git] / src / mainboard / emulation / qemu-i386 / Config.lb
1 ##
2 ## Compute the location and size of where this firmware image
3 ## (linuxBIOS plus bootloader) will live in the boot rom chip.
4 ##
5 default ROM_SIZE = 256 * 1024 
6 default ROM_SECTION_SIZE   = ROM_SIZE
7 default ROM_SECTION_OFFSET = 0
8
9 ##
10 ## Compute the start location and size size of
11 ## The linuxBIOS bootloader.
12 ##
13 default PAYLOAD_SIZE            = ( ROM_SECTION_SIZE - ROM_IMAGE_SIZE )
14 default CONFIG_ROM_PAYLOAD_START = (0xffffffff - ROM_SIZE + ROM_SECTION_OFFSET + 1)
15
16 ##
17 ## Compute where this copy of linuxBIOS will start in the boot rom
18 ##
19 default _ROMBASE      = ( CONFIG_ROM_PAYLOAD_START + PAYLOAD_SIZE )
20
21 ##
22 ## Compute a range of ROM that can cached to speed up linuxBIOS,
23 ## execution speed.
24 ##
25 ## XIP_ROM_SIZE must be a power of 2.
26 ## XIP_ROM_BASE must be a multiple of XIP_ROM_SIZE
27 ##
28 default XIP_ROM_SIZE=32*1024
29 default XIP_ROM_BASE = ( _ROMBASE + ROM_IMAGE_SIZE - XIP_ROM_SIZE )
30
31 ##
32 ## Set all of the defaults for an x86 architecture
33 ##
34
35 arch i386 end
36
37 ##
38 ## Build the objects we have code for in this directory.
39 ##
40
41 driver mainboard.o
42 object vgabios.o
43 if HAVE_PIRQ_TABLE object irq_tables.o end
44 #object reset.o
45
46 ##
47 ## Romcc output
48 ##
49 makerule ./failover.E
50         depends "$(MAINBOARD)/failover.c ./romcc" 
51         action "./romcc -E -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/failover.c -o $@"
52 end
53
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 $@"
57 end
58
59 makerule ./auto.E 
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 $@"
62 end
63 makerule ./auto.inc 
64         depends "$(MAINBOARD)/auto.c option_table.h ./romcc"
65         action  "./romcc    -mcpu=i386 -O -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@"
66 end
67
68 ##
69 ## Build our 16 bit and 32 bit linuxBIOS entry code
70 ##
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
75
76 ##
77 ## Build our reset vector (This is where linuxBIOS is entered)
78 ##
79 mainboardinit cpu/x86/16bit/reset16.inc 
80 ldscript /cpu/x86/16bit/reset16.lds 
81
82 ### Should this be in the northbridge code?
83 mainboardinit arch/i386/lib/cpu_reset.inc
84
85 ##
86 ## Include an id string (For safe flashing)
87 ##
88 mainboardinit arch/i386/lib/id.inc
89 ldscript /arch/i386/lib/id.lds
90
91 ###
92 ### O.k. We aren't just an intermediary anymore!
93 ###
94
95 ##
96 ## Setup RAM
97 ##
98 mainboardinit cpu/x86/fpu/enable_fpu.inc
99 mainboardinit ./auto.inc
100
101 ##
102 ## Include the secondary Configuration files 
103 ##
104 dir /pc80
105 config chip.h
106
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}"
113         end
114 end