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 #object ioapic.o CONFIG_IOAPIC
if CONFIG_SMP if CONFIG_SMP
object start_stop.o object start_stop.o
# object secondary.S object secondary.S
end end

View File

@ -3,6 +3,8 @@ uses HAVE_PIRQ_TABLE
uses USE_FALLBACK_IMAGE uses USE_FALLBACK_IMAGE
uses USE_NORMAL_IMAGE uses USE_NORMAL_IMAGE
uses AMD8111_DEV uses AMD8111_DEV
uses MAINBOARD
uses ARCH
# #
# #
### ###
@ -14,13 +16,15 @@ uses AMD8111_DEV
### Build the objects we have code for in this directory. ### Build the objects we have code for in this directory.
### ###
##object mainboard.o ##object mainboard.o
config chip.h
register "fixup_scsi" = "1"
driver mainboard.o driver mainboard.o
object static_devices.o object static_devices.o
if HAVE_MP_TABLE object mptable.o end if HAVE_MP_TABLE object mptable.o end
if HAVE_PIRQ_TABLE object irq_tables.o end if HAVE_PIRQ_TABLE object irq_tables.o end
# #
arch i386 end arch i386 end
cpu k8 end #cpu k8 end
# #
### ###
### Build our 16 bit and 32 bit linuxBIOS entry code ### 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) ### Build our reset vector (This is where linuxBIOS is entered)
### ###
if USE_FALLBACK_IMAGE if USE_FALLBACK_IMAGE
print "Use fallback!"
mainboardinit cpu/i386/reset16.inc mainboardinit cpu/i386/reset16.inc
ldscript /cpu/i386/reset16.lds ldscript /cpu/i386/reset16.lds
else
print "NO FALLBACK USED!"
end end
if USE_NORMAL_IMAGE if USE_NORMAL_IMAGE
@ -59,22 +64,32 @@ ldscript /arch/i386/lib/id.lds
#### failover to another image. #### failover to another image.
#### ####
#option MAX_REBOOT_CNT=2 #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 ### Setup our mtrrs
### ###
mainboardinit cpu/k8/earlymtrr.inc mainboardinit cpu/k8/earlymtrr.inc
#
#
### ###
### Only the bootstrap cpu makes it here. ### Only the bootstrap cpu makes it here.
### Failover if we need to ### Failover if we need to
### ###
# #
if USE_FALLBACK_IMAGE if USE_FALLBACK_IMAGE
mainboardinit southbridge/amd/amd8111/cmos_boot_failover.inc mainboardinit ./failover.inc
# mainboardinit southbridge/amd/amd8111/cmos_boot_failover.inc
end 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! #### O.k. We aren't just an intermediary anymore!
@ -90,13 +105,7 @@ end
# mainboardinit southbridgeamd/amd8111/disable_watchdog.inc # mainboardinit southbridgeamd/amd8111/disable_watchdog.inc
#end #end
# #
### #if USE_FALLBACK_IMAGE mainboardinit arch/i386/lib/noop_failover.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
# #
### ###
### Romcc output ### 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.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" #makerule ./failover.inc dep "./romcc ./failover.E" act "./romcc -O ./failover.E > failover.inc"
#mainboardinit .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 ./auto.inc
mainboardinit cpu/k8/disable_mmx_sse.inc
# #
### ###
### Setup RAM ### Setup RAM
### ###
mainboardinit ram/ramtest.inc #mainboardinit ram/ramtest.inc
mainboardinit southbridge/amd/amd8111/smbus.inc #mainboardinit southbridge/amd/amd8111/smbus.inc
mainboardinit sdram/generic_dump_spd.inc #mainboardinit sdram/generic_dump_spd.inc
# #
### ###
### Include the secondary Configuration files ### Include the secondary Configuration files
@ -122,9 +149,12 @@ northbridge amd/amdk8
end end
southbridge amd/amd8111 southbridge amd/amd8111
end end
southbridge amd/amd8131
end
#mainboardinit archi386/smp/secondary.inc #mainboardinit archi386/smp/secondary.inc
superio NSC/pc87360 superio NSC/pc87360
register "com1={1} com2={0} floppy=1 lpt=1 keyboard=1" register "com1" = "{1}"
register "lpt" = "{1}"
end end
dir /pc80 dir /pc80
##dir /src/superio/winbond/w83627hf ##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 <console/console.h>
#include <device/device.h> #include <device/device.h>
#include <device/chip.h>
#include <device/pci.h> #include <device/pci.h>
#include <device/pci_ids.h> #include <device/pci_ids.h>
#include <device/pci_ops.h> #include <device/pci_ops.h>
#include <part/mainboard.h> #include "chip.h"
//#include <part/mainboard.h>
//#include "lsi_scsi.c" //#include "lsi_scsi.c"
unsigned long initial_apicid[MAX_CPUS] = 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(); 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) void final_mainboard_fixup(void)
@ -118,3 +131,8 @@ void final_mainboard_fixup(void)
#endif #endif
} }
struct chip_control mainboard_tyan_s2880_control = {
enable: enable,
name: "Tyan s2880 mainboard "
};