Mods for YhLu to enable calls for mainboard init.

git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1038 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Ronald G. Minnich 2003-07-25 04:32:42 +00:00
parent ebb645a9fb
commit 35cce551c4
4 changed files with 77 additions and 26 deletions

View File

@ -7,6 +7,6 @@ end
#object ioapic.o CONFIG_IOAPIC
if CONFIG_SMP
object start_stop.o
# object secondary.S
object secondary.S
end

View File

@ -3,6 +3,8 @@ uses HAVE_PIRQ_TABLE
uses USE_FALLBACK_IMAGE
uses USE_NORMAL_IMAGE
uses AMD8111_DEV
uses MAINBOARD
uses ARCH
#
#
###
@ -14,13 +16,15 @@ uses AMD8111_DEV
### Build the objects we have code for in this directory.
###
##object mainboard.o
config chip.h
register "fixup_scsi" = "1"
driver mainboard.o
object static_devices.o
if HAVE_MP_TABLE object mptable.o end
if HAVE_PIRQ_TABLE object irq_tables.o end
#
arch i386 end
cpu k8 end
#cpu k8 end
#
###
### Build our 16 bit and 32 bit linuxBIOS entry code
@ -34,9 +38,10 @@ ldscript /cpu/i386/entry32.lds
### Build our reset vector (This is where linuxBIOS is entered)
###
if USE_FALLBACK_IMAGE
print "Use fallback!"
mainboardinit cpu/i386/reset16.inc
ldscript /cpu/i386/reset16.lds
else
print "NO FALLBACK USED!"
end
if USE_NORMAL_IMAGE
@ -59,22 +64,32 @@ ldscript /arch/i386/lib/id.lds
#### failover to another image.
####
#option MAX_REBOOT_CNT=2
##ldscript arch/i386/lib/failover.lds USE_FALLBACK_IMAGE
if USE_FALLBACK_IMAGE
ldscript /arch/i386/lib/failover.lds
end
#
###
### Setup our mtrrs
###
mainboardinit cpu/k8/earlymtrr.inc
#
#
###
### Only the bootstrap cpu makes it here.
### Failover if we need to
###
#
if USE_FALLBACK_IMAGE
mainboardinit southbridge/amd/amd8111/cmos_boot_failover.inc
mainboardinit ./failover.inc
# mainboardinit southbridge/amd/amd8111/cmos_boot_failover.inc
end
#
#
###
### Setup the serial port
###
#mainboardinit superiowinbond/w83627hf/setup_serial.inc
mainboardinit pc80/serial.inc
mainboardinit arch/i386/lib/console.inc
#
####
#### O.k. We aren't just an intermediary anymore!
@ -90,13 +105,7 @@ end
# mainboardinit southbridgeamd/amd8111/disable_watchdog.inc
#end
#
###
### Setup the serial port
###
#mainboardinit superiowinbond/w83627hf/setup_serial.inc
mainboardinit pc80/serial.inc
mainboardinit arch/i386/lib/console.inc
if USE_FALLBACK_IMAGE mainboardinit arch/i386/lib/noop_failover.inc end
#if USE_FALLBACK_IMAGE mainboardinit arch/i386/lib/noop_failover.inc end
#
###
### Romcc output
@ -104,16 +113,34 @@ if USE_FALLBACK_IMAGE mainboardinit arch/i386/lib/noop_failover.inc end
#makerule ./failover.E dep "$(MAINBOARD)/failover.c" act "$(CPP) -I$(TOP)/src $(CPPFLAGS) $(MAINBOARD)/failover.c > ./failever.E"
#makerule ./failover.inc dep "./romcc ./failover.E" act "./romcc -O ./failover.E > failover.inc"
#mainboardinit .failover.inc
makerule ./auto.E dep "$(MAINBOARD)/auto.c" act "$(CPP) -I$(TOP)/src -$(ROMCCPPFLAGS) $(CPPFLAGS) $(MAINBOARD)/auto.c > ./auto.E"
makerule ./auto.inc dep "./romcc ./auto.E" act "./romcc -O ./auto.E > auto.inc"
makerule ./failover.E
depends "$(MAINBOARD)/failover.c"
action "$(CPP) -I$(TOP)/src $(ROMCCPPFLAGS) $(CPPFLAGS) $(MAINBOARD)/failover.c > ./failover.E"
end
makerule ./failover.inc
depends "./romcc ./failover.E"
action "./romcc -O -o failover.inc --label-prefix=failover ./failover.E"end
makerule ./auto.E
depends "$(MAINBOARD)/auto.c"
action "$(CPP) -I$(TOP)/src $(ROMCCPPFLAGS) $(CPPFLAGS) $(MAINBOARD)/auto.c > ./auto.E"
end
makerule ./auto.inc
depends "./romcc ./auto.E"
action "./romcc -mcpu=k8 -O ./auto.E > auto.inc"
end
mainboardinit cpu/k8/enable_mmx_sse.inc
mainboardinit ./auto.inc
mainboardinit cpu/k8/disable_mmx_sse.inc
#
###
### Setup RAM
###
mainboardinit ram/ramtest.inc
mainboardinit southbridge/amd/amd8111/smbus.inc
mainboardinit sdram/generic_dump_spd.inc
#mainboardinit ram/ramtest.inc
#mainboardinit southbridge/amd/amd8111/smbus.inc
#mainboardinit sdram/generic_dump_spd.inc
#
###
### Include the secondary Configuration files
@ -122,9 +149,12 @@ northbridge amd/amdk8
end
southbridge amd/amd8111
end
southbridge amd/amd8131
end
#mainboardinit archi386/smp/secondary.inc
superio NSC/pc87360
register "com1={1} com2={0} floppy=1 lpt=1 keyboard=1"
register "com1" = "{1}"
register "lpt" = "{1}"
end
dir /pc80
##dir /src/superio/winbond/w83627hf

View File

@ -0,0 +1,3 @@
struct mainboard_tyan_s2880_config {
int fixup_scsi;
};

View File

@ -1,9 +1,11 @@
#include <console/console.h>
#include <device/device.h>
#include <device/chip.h>
#include <device/pci.h>
#include <device/pci_ids.h>
#include <device/pci_ops.h>
#include <part/mainboard.h>
#include "chip.h"
//#include <part/mainboard.h>
//#include "lsi_scsi.c"
unsigned long initial_apicid[MAX_CPUS] =
{
@ -103,12 +105,23 @@ static void onboard_scsi_fixup(void)
*/
}
void mainboard_fixup(void)
static void
enable(struct chip *chip, enum chip_pass pass)
{
printk_debug("Enter mainboard_fixup\r\n");
// onboard_device_fixup
struct mainboard_tyan_s2880_config *conf =
(struct mainboard_tyan_s2880_config *)chip->chip_info;
switch (pass) {
default: break;
case CONF_PASS_PRE_BOOT:
if (conf->fixup_scsi)
onboard_scsi_fixup();
printk_debug("mainboard fixup done\r\n");
printk_debug("mainboard fixup pass %d done\r\n",
pass);
break;
}
}
void final_mainboard_fixup(void)
@ -118,3 +131,8 @@ void final_mainboard_fixup(void)
#endif
}
struct chip_control mainboard_tyan_s2880_control = {
enable: enable,
name: "Tyan s2880 mainboard "
};