now all have the same parameter order. action "$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(TOP)/src -I. -nostdinc -nostdlib -fno-builtin -Wall -Os -c -S $(MAINBOARD)/$(CACHE_AS_RAM_AUTO_C) -o $@" The idea behind this parameter order is: - *FLAGS at the beginning. - Use a common set of *FLAGS. - Include files and directories listed afterwards. - nostdinc, nostdlib, no-builtin tell the compiler this is standalone code. - Warnings. They do not influence source or compilation. - Compilation strategy (small) and output mode (asm or binary). - File to be compiled. - Output name. - $(DEBUG_CFLAGS) and -S are only used for asm output. Other changes in this patch: - src/supermicro/h8dme/Config.lb now uses $DEBUG_CFLAGS instead of hardcoding the respective flags. - $DEBUG_CFLAGS was added to asm outputting $CC calls: supermicro/h8dme/Config.lb lippert/roadrunner-lx/Config.lb - $DISTRO_CFLAGS was added to some $CC calls in: iwill/dk8_htx/Config.lb (CAR AP code) supermicro/h8dmr/Config.lb (CAR AP code) supermicro/h8dme/Config.lb (CAR AP code) gigabyte/m57sli/Config.lb (CAR AP code) gigabyte/ga_2761gxdk/Config.lb (CAR AP code) amd/serengeti_cheetah_fam10/Config.lb (everywhere) msi/ms7135/Config.lb (everywhere) nvidia/l1_2pvv/Config.lb (CAR AP code) -$CFLAGS was added to all $CC calls in: amd/db800/Config.lb amd/dbm690t/Config.lb amd/norwich/Config.lb amd/pistachio/Config.lb amd/serengeti_cheetah/Config.lb amd/serengeti_cheetah_fam10/Config.lb arima/hdama/Config.lb artecgroup/dbe61/Config.lb asus/a8n_e/Config.lb asus/a8v-e_se/Config.lb asus/m2v-mx_se/Config.lb broadcom/blast/Config.lb digitallogic/msm800sev/Config.lb gigabyte/ga_2761gxdk/Config.lb gigabyte/m57sli/Config.lb ibm/e325/Config.lb ibm/e326/Config.lb iei/pcisa-lx-800-r10/Config.lb iwill/dk8_htx/Config.lb iwill/dk8s2/Config.lb iwill/dk8x/Config.lb kontron/986lcd-m/Config.lb lippert/roadrunner-lx/Config.lb lippert/spacerunner-lx/Config.lb msi/ms7135/Config.lb msi/ms7260/Config.lb msi/ms9185/Config.lb msi/ms9282/Config.lb newisys/khepri/Config.lb nvidia/l1_2pvv/Config.lb pcengines/alix1c/Config.lb sunw/ultra40/Config.lb supermicro/h8dme/Config.lb supermicro/h8dmr/Config.lb technexion/tim8690/Config.lb tyan/s2735/Config.lb tyan/s2850/Config.lb tyan/s2875/Config.lb tyan/s2880/Config.lb tyan/s2881/Config.lb tyan/s2882/Config.lb tyan/s2885/Config.lb tyan/s2891/Config.lb tyan/s2892/Config.lb tyan/s2895/Config.lb tyan/s2912/Config.lb tyan/s2912_fam10/Config.lb tyan/s4880/Config.lb tyan/s4882/Config.lb - Use $@ wherever appropriate. - Kill that evil CACHE_AS_RAM_AUTO_C variable. - Trailing whitespace fixups on lines which were touched anyway. We now only have 6 remaining different calls to $CC whereas before there were 20. If I am allowed to rename src/mainboard/kontron/986lcd-m/auto.c to src/mainboard/kontron/986lcd-m/cache_as_ram_auto.c, we're down to 4 different calls. If we can decide on the use of $CPU_OPT, we are down to 3 different calls. One additional point I'd like to clear up: if ASSEMBLER_DEBUG makedefine DEBUG_CFLAGS := -g -dA -fverbose-asm end "-dA -fverbose-asm" is only useful for asm output. For these flags, DEBUG_CFLAGS is a total misnomer. What about calling them DEBUG_ASMCFLAGS or somesuch? "-g" should be controllable by a separate switch. It is useful even for object code. The following targets are broken by this patch because they contain implicit declarations, but the error did not trigger due to missing CFLAGS: amd/serengeti_cheetah asus/a8v-e_se asus/m2v-mx_se digitallogic/msm800sev pcengines/alix1c supermicro/h8dme supermicro/h8dmr Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Ronald G. Minnich <rminnich@gmail.com> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4097 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
314 lines
10 KiB
Plaintext
314 lines
10 KiB
Plaintext
##
|
|
## This file is part of the coreboot project.
|
|
##
|
|
## Copyright (C) 2007 Uwe Hermann <uwe@hermann-uwe.de>
|
|
##
|
|
## This program is free software; you can redistribute it and/or modify
|
|
## it under the terms of the GNU General Public License as published by
|
|
## the Free Software Foundation; either version 2 of the License, or
|
|
## (at your option) any later version.
|
|
##
|
|
## This program is distributed in the hope that it will be useful,
|
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
## GNU General Public License for more details.
|
|
##
|
|
## You should have received a copy of the GNU General Public License
|
|
## along with this program; if not, write to the Free Software
|
|
## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
##
|
|
|
|
if USE_FAILOVER_IMAGE
|
|
default ROM_SECTION_SIZE = FAILOVER_SIZE
|
|
default ROM_SECTION_OFFSET = (ROM_SIZE - FAILOVER_SIZE)
|
|
else
|
|
if USE_FALLBACK_IMAGE
|
|
default ROM_SECTION_SIZE = FALLBACK_SIZE
|
|
default ROM_SECTION_OFFSET = (ROM_SIZE - FALLBACK_SIZE - FAILOVER_SIZE)
|
|
else
|
|
default ROM_SECTION_SIZE = (ROM_SIZE - FALLBACK_SIZE - FAILOVER_SIZE)
|
|
default ROM_SECTION_OFFSET = 0
|
|
end
|
|
end
|
|
|
|
default PAYLOAD_SIZE = (ROM_SECTION_SIZE - ROM_IMAGE_SIZE)
|
|
default CONFIG_ROM_PAYLOAD_START = (0xffffffff - ROM_SIZE + ROM_SECTION_OFFSET + 1)
|
|
default _ROMBASE = (CONFIG_ROM_PAYLOAD_START + PAYLOAD_SIZE)
|
|
default XIP_ROM_SIZE = 65536
|
|
|
|
if USE_FAILOVER_IMAGE
|
|
default XIP_ROM_BASE = (_ROMBASE - XIP_ROM_SIZE + ROM_IMAGE_SIZE)
|
|
else
|
|
if USE_FALLBACK_IMAGE
|
|
default XIP_ROM_BASE = (_ROMBASE - XIP_ROM_SIZE + ROM_IMAGE_SIZE + FAILOVER_SIZE)
|
|
else
|
|
default XIP_ROM_BASE = (_ROMBASE - XIP_ROM_SIZE + ROM_IMAGE_SIZE)
|
|
end
|
|
end
|
|
|
|
arch i386 end
|
|
|
|
driver mainboard.o
|
|
object get_bus_conf.o # Needed by irq_tables and mptable (and acpi_tables).
|
|
if HAVE_MP_TABLE object mptable.o end
|
|
if HAVE_PIRQ_TABLE object irq_tables.o end
|
|
# object reset.o
|
|
|
|
if CONFIG_USE_INIT
|
|
makerule ./cache_as_ram_auto.o
|
|
depends "$(MAINBOARD)/cache_as_ram_auto.c option_table.h"
|
|
action "$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) -I$(TOP)/src -I. -nostdinc -nostdlib -fno-builtin -Wall -Os -c $(MAINBOARD)/cache_as_ram_auto.c -o $@"
|
|
end
|
|
else
|
|
makerule ./cache_as_ram_auto.inc
|
|
depends "$(MAINBOARD)/cache_as_ram_auto.c option_table.h"
|
|
action "$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(DEBUG_CFLAGS) -I$(TOP)/src -I. -nostdinc -nostdlib -fno-builtin -Wall -Os -c -S $(MAINBOARD)/cache_as_ram_auto.c -o $@"
|
|
action "perl -e 's/\.rodata/.rom.data/g' -pi $@"
|
|
action "perl -e 's/\.text/.section .rom.text/g' -pi $@"
|
|
end
|
|
end
|
|
|
|
if USE_FAILOVER_IMAGE
|
|
else
|
|
if CONFIG_AP_CODE_IN_CAR
|
|
makerule ./apc_auto.o
|
|
depends "$(MAINBOARD)/apc_auto.c option_table.h"
|
|
action "$(CC) $(DISTRO_CFLAGS) $(CFLAGS) $(CPPFLAGS) -I$(TOP)/src -I. -nostdinc -nostdlib -fno-builtin -Wall -Os -c $(MAINBOARD)/apc_auto.c -o $@"
|
|
end
|
|
ldscript /arch/i386/init/ldscript_apc.lb
|
|
end
|
|
end
|
|
|
|
if HAVE_FAILOVER_BOOT
|
|
if USE_FAILOVER_IMAGE
|
|
mainboardinit cpu/x86/16bit/entry16.inc
|
|
ldscript /cpu/x86/16bit/entry16.lds
|
|
end
|
|
else
|
|
if USE_FALLBACK_IMAGE
|
|
mainboardinit cpu/x86/16bit/entry16.inc
|
|
ldscript /cpu/x86/16bit/entry16.lds
|
|
end
|
|
end
|
|
|
|
mainboardinit cpu/x86/32bit/entry32.inc
|
|
|
|
if CONFIG_USE_INIT
|
|
ldscript /cpu/x86/32bit/entry32.lds
|
|
end
|
|
if CONFIG_USE_INIT
|
|
ldscript /cpu/amd/car/cache_as_ram.lds
|
|
end
|
|
|
|
if HAVE_FAILOVER_BOOT
|
|
if USE_FAILOVER_IMAGE
|
|
mainboardinit cpu/x86/16bit/reset16.inc
|
|
ldscript /cpu/x86/16bit/reset16.lds
|
|
else
|
|
mainboardinit cpu/x86/32bit/reset32.inc
|
|
ldscript /cpu/x86/32bit/reset32.lds
|
|
end
|
|
else
|
|
if USE_FALLBACK_IMAGE
|
|
mainboardinit cpu/x86/16bit/reset16.inc
|
|
ldscript /cpu/x86/16bit/reset16.lds
|
|
else
|
|
mainboardinit cpu/x86/32bit/reset32.inc
|
|
ldscript /cpu/x86/32bit/reset32.lds
|
|
end
|
|
end
|
|
|
|
mainboardinit southbridge/nvidia/mcp55/id.inc
|
|
ldscript /southbridge/nvidia/mcp55/id.lds
|
|
|
|
# ROMSTRAP table for MCP55.
|
|
if HAVE_FAILOVER_BOOT
|
|
if USE_FAILOVER_IMAGE
|
|
mainboardinit southbridge/nvidia/mcp55/romstrap.inc
|
|
ldscript /southbridge/nvidia/mcp55/romstrap.lds
|
|
end
|
|
else
|
|
if USE_FALLBACK_IMAGE
|
|
mainboardinit southbridge/nvidia/mcp55/romstrap.inc
|
|
ldscript /southbridge/nvidia/mcp55/romstrap.lds
|
|
end
|
|
end
|
|
|
|
mainboardinit cpu/amd/car/cache_as_ram.inc
|
|
|
|
if HAVE_FAILOVER_BOOT
|
|
if USE_FAILOVER_IMAGE
|
|
ldscript /arch/i386/lib/failover_failover.lds
|
|
end
|
|
else
|
|
if USE_FALLBACK_IMAGE
|
|
ldscript /arch/i386/lib/failover.lds
|
|
end
|
|
end
|
|
|
|
if CONFIG_USE_INIT
|
|
initobject cache_as_ram_auto.o
|
|
else
|
|
mainboardinit ./cache_as_ram_auto.inc
|
|
end
|
|
|
|
config chip.h
|
|
|
|
chip northbridge/amd/amdk8/root_complex # Root complex
|
|
device apic_cluster 0 on # APIC cluster
|
|
chip cpu/amd/socket_AM2 # CPU
|
|
device apic 0 on end # APIC
|
|
end
|
|
end
|
|
device pci_domain 0 on # PCI domain
|
|
chip northbridge/amd/amdk8 # Northbridge / mc0
|
|
device pci 18.0 on
|
|
# Devices on link 0, link 0 == LDT 0
|
|
chip southbridge/nvidia/mcp55 # Southbridge
|
|
device pci 0.0 on end # HT
|
|
device pci 1.0 on # LPC
|
|
chip superio/winbond/w83627ehg # Super I/O
|
|
device pnp 4e.0 on # Floppy
|
|
io 0x60 = 0x3f0
|
|
irq 0x70 = 6
|
|
drq 0x74 = 2
|
|
end
|
|
device pnp 4e.1 on # Parallel port
|
|
io 0x60 = 0x378
|
|
irq 0x70 = 7
|
|
end
|
|
device pnp 4e.2 on # Com1
|
|
io 0x60 = 0x3f8
|
|
irq 0x70 = 4
|
|
end
|
|
device pnp 4e.3 on # Com2 / IrDA
|
|
io 0x60 = 0x2f8
|
|
irq 0x70 = 3
|
|
end
|
|
device pnp 4e.5 on # PS/2 keyboard
|
|
io 0x60 = 0x60
|
|
io 0x62 = 0x64
|
|
irq 0x70 = 1 # PS/2 keyboard IRQ
|
|
irq 0x72 = 12 # PS/2 mouse IRQ
|
|
end
|
|
device pnp 4e.6 off # Serial flash interface
|
|
# io 0x62 = 0x100
|
|
end
|
|
device pnp 4e.7 off # GPIO1/6, game port, MIDI port
|
|
# io 0x60 = 0x220 # Datasheet: 0x201
|
|
# io 0x62 = 0x300 # Datasheet: 0x330
|
|
# irq 0x70 = 9
|
|
end
|
|
device pnp 4e.8 off # WDTO#, PLED
|
|
end
|
|
device pnp 4e.9 off # GPIO2/3/4/5, SUSLED
|
|
end
|
|
device pnp 4e.a off # ACPI
|
|
end
|
|
device pnp 4e.b on # HWM (for lm-sensors)
|
|
io 0x60 = 0xa10
|
|
end
|
|
end
|
|
end
|
|
device pci 1.1 on # SM 0
|
|
chip drivers/generic/generic # DIMM 0-0-0
|
|
device i2c 50 on end
|
|
end
|
|
chip drivers/generic/generic # DIMM 0-0-1
|
|
device i2c 51 on end
|
|
end
|
|
chip drivers/generic/generic # DIMM 0-1-0
|
|
device i2c 52 on end
|
|
end
|
|
chip drivers/generic/generic # DIMM 0-1-1
|
|
device i2c 53 on end
|
|
end
|
|
# TODO: Needed?
|
|
# chip drivers/generic/generic # DIMM 1-0-0
|
|
# device i2c 54 on end
|
|
# end
|
|
# chip drivers/generic/generic # DIMM 1-0-1
|
|
# device i2c 55 on end
|
|
# end
|
|
# chip drivers/generic/generic # DIMM 1-1-0
|
|
# device i2c 56 on end
|
|
# end
|
|
# chip drivers/generic/generic # DIMM 1-1-1
|
|
# device i2c 57 on end
|
|
# end
|
|
end
|
|
# TODO: Check if the stuff below is correct / needed.
|
|
device pci 1.1 on # SM 1
|
|
# PCI device SMBus address will depend on addon PCI device,
|
|
# do we need to scan_smbus_bus?
|
|
|
|
# chip drivers/generic/generic # PCIXA Slot1
|
|
# device i2c 50 on end
|
|
# end
|
|
# chip drivers/generic/generic # PCIXB Slot1
|
|
# device i2c 51 on end
|
|
# end
|
|
# chip drivers/generic/generic # PCIXB Slot2
|
|
# device i2c 52 on end
|
|
# end
|
|
# chip drivers/generic/generic # PCI Slot1
|
|
# device i2c 53 on end
|
|
# end
|
|
# chip drivers/generic/generic # Master MCP55 PCI-E
|
|
# device i2c 54 on end
|
|
# end
|
|
# chip drivers/generic/generic # Slave MCP55 PCI-E
|
|
# device i2c 55 on end
|
|
# end
|
|
chip drivers/generic/generic # MAC EEPROM
|
|
device i2c 51 on end
|
|
end
|
|
end
|
|
device pci 2.0 on end # USB 1.1
|
|
device pci 2.1 on end # USB 2
|
|
device pci 4.0 on end # IDE
|
|
device pci 5.0 on end # SATA 0
|
|
device pci 5.1 on end # SATA 1
|
|
device pci 5.2 off end # SATA 2 (N/A on this board)
|
|
device pci 6.0 on end # PCI
|
|
device pci 6.1 on end # AZA (HD Audio)
|
|
device pci 8.0 on end # NIC
|
|
device pci 9.0 off end # NIC (N/A on this board)
|
|
device pci a.0 off end # PCI E 5 (N/A on this board?)
|
|
device pci b.0 on end # PCI E 4
|
|
device pci c.0 on end # PCI E 3
|
|
device pci d.0 on end # PCI E 2
|
|
device pci e.0 on end # PCI E 1
|
|
device pci f.0 on end # PCI E 0
|
|
register "ide0_enable" = "1"
|
|
register "sata0_enable" = "1"
|
|
register "sata1_enable" = "1"
|
|
# TODO: Check the two lines below.
|
|
register "mac_eeprom_smbus" = "3" # 1: SMBus under 2e.8, 2: SM0 3: SM1
|
|
register "mac_eeprom_addr" = "0x51"
|
|
end
|
|
end
|
|
device pci 18.0 on end # Link 1
|
|
device pci 18.0 on end
|
|
device pci 18.1 on end
|
|
device pci 18.2 on end
|
|
device pci 18.3 on end
|
|
end
|
|
end
|
|
|
|
# TODO
|
|
# chip drivers/generic/debug
|
|
# device pnp 0.0 off end # chip name
|
|
# device pnp 0.1 on end # pci_regs_all
|
|
# device pnp 0.2 on end # mem
|
|
# device pnp 0.3 off end # cpuid
|
|
# device pnp 0.4 on end # smbus_regs_all
|
|
# device pnp 0.5 off end # dual core msr
|
|
# device pnp 0.6 off end # cache size
|
|
# device pnp 0.7 off end # tsc
|
|
# device pnp 0.8 off end # io
|
|
# device pnp 0.9 off end # io
|
|
# end
|
|
|
|
end
|