From 4f1a6975eff9bf50c8a6a81abe19fd057b9c1018 Mon Sep 17 00:00:00 2001 From: "Ronald G. Minnich" Date: Tue, 5 Aug 2003 23:31:26 +0000 Subject: fixup. SMP works fine. git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1078 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/mainboard/arima/hdama/irq_tables.c | 42 ++++++++++++++++++++++------------ src/mainboard/arima/hdama/mainboard.c | 4 +++- targets/arima/hdama/Config.lb | 26 +++++++++------------ 3 files changed, 41 insertions(+), 31 deletions(-) diff --git a/src/mainboard/arima/hdama/irq_tables.c b/src/mainboard/arima/hdama/irq_tables.c index 286905c26f..002ecee322 100644 --- a/src/mainboard/arima/hdama/irq_tables.c +++ b/src/mainboard/arima/hdama/irq_tables.c @@ -7,25 +7,37 @@ #include + const struct irq_routing_table intel_irq_routing_table = { PIRQ_SIGNATURE, /* u32 signature */ PIRQ_VERSION, /* u16 version */ - 32+16*7, /* there can be total 7 devices on the bus */ - 0, /* Where the interrupt router lies (bus) */ - (5<<3)|3, /* Where the interrupt router lies (dev) */ - 0xc20, /* IRQs devoted exclusively to PCI usage */ + 32+16*18, /* there can be total 18 devices on the bus */ + 0, /* Where the interrupt router lies (bus) */ + 0x3b, /* Where the interrupt router lies (dev) */ + 0, /* IRQs devoted exclusively to PCI usage */ 0x1022, /* Vendor */ - 0x746b, /* Device */ - 0, /* Crap (miniport) */ + 0x7400, /* Device */ + 0, /* Crap (miniport) */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* u8 rfu[11] */ - 0xdf, /* u8 checksum , mod 256 checksum must give zero */ - { /* bus, devfn, {link, bitmap}, {link, bitmap}, {link, bitmap}, {link, bitmap}, slot, rfu */ - {0x02, (5<<3)|0, {{0x02, 0xdeb8}, {0x03, 0xdeb8}, {0x04, 0xdeb8}, {0x01, 0xdeb8}}, 0x02, 0x00}, - {0x02, (6<<3)|0, {{0x03, 0xdeb8}, {0x04, 0xdeb8}, {0x01, 0xdeb8}, {0x02, 0xdeb8}}, 0x03, 0x00}, - {0x02, (7<<3)|0, {{0x04, 0xdeb8}, {0x01, 0xdeb8}, {0x02, 0xdeb8}, {0x03, 0xdeb8}}, 0x04, 0x00}, - {0x02, (1<<3)|1, {{0x01, 0xdeb8}, {0x01, 0xdeb8}, {0x01, 0xdeb8}, {0x01, 0xdeb8}}, 0x00, 0x00}, - {0x00, (5<<3)|1, {{0x01, 0xdeb8}, {0x02, 0xdeb8}, {0x03, 0xdeb8}, {0x04, 0xdeb8}}, 0x00, 0x00}, - {0x00, (2<<3)|0, {{0x01, 0xdeb8}, {0x02, 0xdeb8}, {0x03, 0xdeb8}, {0x04, 0xdeb8}}, 0x00, 0x00}, - {0xff, 0xff, {{0xff, 0xffff}, {0xff, 0xffff}, {0xff, 0xffff}, {0xff, 0xffff}}, 0xff, 0xff}, + 0x35, /* u8 checksum , this hase to set to some value that would give 0 after the sum of all bytes for this structure (including checksum) */ + { + {0,0xc0, {{0, 0xdef8}, {0, 0xdef8}, {0, 0xdef8}, {0, 0xdef8}}, 0, 0}, + {0,0x50, {{0x1, 0xdef8}, {0, 0xdef8}, {0, 0xdef8}, {0, 0xdef8}}, 0, 0}, + {0x2,0x8, {{0x2, 0xdef8}, {0x3, 0xdef8}, {0x4, 0xdef8}, {0x1, 0xdef8}}, 0x3, 0}, + {0x2,0x10, {{0x3, 0xdef8}, {0x4, 0xdef8}, {0x1, 0xdef8}, {0x2, 0xdef8}}, 0x4, 0}, + {0x2,0x18, {{0x4, 0xdef8}, {0, 0xdef8}, {0, 0xdef8}, {0, 0xdef8}}, 0x7, 0}, + {0x2,0x20, {{0x4, 0xdef8}, {0, 0xdef8}, {0, 0xdef8}, {0, 0xdef8}}, 0x8, 0}, + {0x2,0x28, {{0x2, 0xdef8}, {0, 0xdef8}, {0, 0xdef8}, {0, 0xdef8}}, 0xa, 0}, + {0,0x58, {{0, 0xdef8}, {0, 0xdef8}, {0, 0xdef8}, {0, 0xdef8}}, 0, 0}, + {0x3,0x8, {{0x2, 0xdef8}, {0x3, 0xdef8}, {0x4, 0xdef8}, {0x1, 0xdef8}}, 0x1, 0}, + {0x3,0x10, {{0x3, 0xdef8}, {0x4, 0xdef8}, {0x1, 0xdef8}, {0x2, 0xdef8}}, 0x2, 0}, + {0x3,0x18, {{0x4, 0xdef8}, {0x1, 0xdef8}, {0x2, 0xdef8}, {0x3, 0xdef8}}, 0x9, 0}, + {0,0x30, {{0, 0xdef8}, {0, 0xdef8}, {0, 0xdef8}, {0, 0xdef8}}, 0, 0}, + {0x1,0, {{0, 0xdef8}, {0, 0xdef8}, {0, 0xdef8}, {0x4, 0xdef8}}, 0, 0}, + {0x1,0x28, {{0x2, 0xdef8}, {0x3, 0xdef8}, {0x4, 0xdef8}, {0x1, 0xdef8}}, 0x5, 0}, + {0x1,0x20, {{0x1, 0xdef8}, {0x2, 0xdef8}, {0x3, 0xdef8}, {0x4, 0xdef8}}, 0x6, 0}, + {0x1,0x30, {{0x3, 0xdef8}, {0, 0xdef8}, {0, 0xdef8}, {0, 0xdef8}}, 0xb, 0}, + {0,0x38, {{0, 0xdef8}, {0, 0xdef8}, {0, 0xdef8}, {0, 0xdef8}}, 0, 0}, + {0,0xc8, {{0, 0xdef8}, {0, 0xdef8}, {0, 0xdef8}, {0, 0xdef8}}, 0, 0}, } }; diff --git a/src/mainboard/arima/hdama/mainboard.c b/src/mainboard/arima/hdama/mainboard.c index 2b2230eb09..61092b799b 100644 --- a/src/mainboard/arima/hdama/mainboard.c +++ b/src/mainboard/arima/hdama/mainboard.c @@ -22,7 +22,9 @@ enable(struct chip *chip, enum chip_pass pass) (struct mainboard_arima_hdama_config *)chip->chip_info; switch (pass) { - default: break; + default: break; + case CONF_PASS_PRE_BOOT: + break; } } diff --git a/targets/arima/hdama/Config.lb b/targets/arima/hdama/Config.lb index f853bd49d2..d9e3d6f31a 100644 --- a/targets/arima/hdama/Config.lb +++ b/targets/arima/hdama/Config.lb @@ -12,6 +12,7 @@ uses CONFIG_COMPRESS uses CONFIG_IOAPIC uses CONFIG_ROM_STREAM uses CONFIG_ROM_STREAM_START +uses CONFIG_SMP uses CONFIG_UDELAY_TSC uses CPU_FIXUP uses ENABLE_FIXED_AND_VARIABLE_MTRRS @@ -23,8 +24,8 @@ uses HAVE_PIRQ_TABLE uses i586 uses i686 uses INTEL_PPRO_MTRR -uses HEAP_SIZE uses IRQ_SLOT_COUNT +uses HEAP_SIZE uses k7 uses k8 uses MAINBOARD_PART_NUMBER @@ -54,8 +55,8 @@ uses CONFIG_CHIP_CONFIGURE option CONFIG_CHIP_CONFIGURE=1 -option MAXIMUM_CONSOLE_LOGLEVEL=7 -option DEFAULT_CONSOLE_LOGLEVEL=7 +option MAXIMUM_CONSOLE_LOGLEVEL=9 +option DEFAULT_CONSOLE_LOGLEVEL=9 option CONFIG_CONSOLE_SERIAL8250=1 option HAVE_OPTION_TABLE=1 @@ -78,14 +79,14 @@ option SIO_SYSTEM_CLK_INPUT=0 ### Build code to export a programmable irq routing table ### option HAVE_PIRQ_TABLE=1 -option IRQ_SLOT_COUNT=7 +option IRQ_SLOT_COUNT=18 # ### ### Build code for SMP support ### Only worry about 2 micro processors ### -##option CONFIG_SMP=1 -option MAX_CPUS=1 +option CONFIG_SMP=1 +option MAX_CPUS=2 # ### ### Build code to setup a generic IOAPIC @@ -111,13 +112,7 @@ option MEMORY_HOLE=0 ### processor identification ### option ENABLE_FIXED_AND_VARIABLE_MTRRS=1 -# -### -### Clean up the motherboard id strings -### -#option MAINBOARD_PART_NUMBER="Solo7" -#option MAINBOARD_VENDOR="AMD" -# + ### ### Call the final_mainboard_fixup function ### @@ -151,7 +146,7 @@ option CONFIG_COMPRESS=1 option USE_ELF_BOOT=1 ## LinuxBIOS C code runs at this location in RAM -option _RAMBASE=0x00100000 +option _RAMBASE=0x4000 ## ## Use a 64K stack @@ -195,7 +190,8 @@ romimage "fallback" option CONFIG_ROM_STREAM = 1 option _ROMBASE = (CONFIG_ROM_STREAM_START + PAYLOAD_SIZE) mainboard arima/hdama - payload ../../../../opteron_phase1 + payload ../../../../tg3--ide_disk.zelf +# payload ../../../../opteron_phase1 end buildrom ROM_SIZE "normal" "fallback" -- cgit v1.2.3