[coreboot] seaBIOS config options "for emulators"

Joe Julian joe at julianfamily.org
Sat Mar 7 06:46:01 CET 2009


Kevin O'Connor wrote:
> On Fri, Mar 06, 2009 at 05:18:15PM -0800, Joe Julian wrote:
>   
>> I find this patch  
>> http://www.coreboot.org/pipermail/coreboot/2009-February/045068.html  
>>     
>
> Yes.  You need to apply that patch.  (Please confirm your machine has
> at least 1GiB of memory.)
>
> The next thing you need to do is setup your SeaBIOS src/config.h.  It
> should have CONFIG_COREBOOT set, CONFIG_DEBUG_SERIAL set,
> CONFIG_OPTIONROMS_DEPLOYED unset, and OPTIONROM_BDF/MEM_* set.  I
> think you've already done this.
>
> Then, one compiles the above, and flashes the chip.
>
> If you're not seeing the correct output, something must be wrong.
> You'll need to capture the serial output and send the log.  With the
> log, we'll be able to figure out what went wrong.
>   

Thanks for your help. I can't directly apply that patch because it's 
been superseded by this one
 http://tracker.coreboot.org/trac/coreboot/changeset/3960
which works for me so far, with the following changes. There's a little 
bit of workaround there, as I don't know how to patch the 
HAVE_HIGH_TABLES into src/northbridge/amd/amdfam10/northbridge.c

Here's a link to my log:
http://www.privatepaste.com/04ilD2DoPH

And yes, the machine has more than 1Gb. It has 8.


--- src/arch/i386/boot/tables.c (revision 3981)
+++ src/arch/i386/boot/tables.c (working copy)
@@ -58,7 +58,7 @@
 }

 #if HAVE_HIGH_TABLES == 1
-uint64_t high_tables_base = 0;
+uint64_t high_tables_base = 0x3dff0000;
 uint64_t high_tables_size;
 #endif

@@ -188,11 +187,12 @@
                                rom_table_start, rom_table_end);
 #endif

+#if 0
        /* The coreboot table must be in 0-4K or 960K-1M */
        write_coreboot_table(low_table_start, low_table_end,
                              rom_table_start, rom_table_end);

-#if 0 && HAVE_HIGH_TABLES == 1
+#else // HAVE_HIGH_TABLES == 1
        /* This is currently broken and should be severely refactored. 
Ideally
         * we only have a pointer to the coreboot table in the low 
memory, so
         * anyone can find the real position.
@@ -205,8 +205,8 @@
         * corrupted
         */
        if (high_tables_base) {
-               write_coreboot_table(high_table_start, high_table_end,
-                                     high_table_start, high_table_end);
+               write_coreboot_table(low_table_start, low_table_end,
+                                    high_table_start, high_table_end);
        }
 #endif

--- src/mainboard/tyan/s2912_fam10/mainboard.c  (revision 3981)
+++ src/mainboard/tyan/s2912_fam10/mainboard.c  (working copy)
@@ -24,6 +24,7 @@
 #include <device/pci.h>
 #include <device/pci_ids.h>
 #include <device/pci_ops.h>
+#include <boot/tables.h>
 #include "chip.h"

 #if CONFIG_CHIP_NAME == 1
@@ -31,3 +32,15 @@
        CHIP_NAME("Tyan S2912 Mainboard (Family 10)")
 };
 #endif
+/* in arch/i386/boot/tables.c */
+extern uint64_t high_tables_base, high_tables_size;
+
+int add_mainboard_resources(struct lb_memory *mem)
+{
+#if HAVE_HIGH_TABLES == 1
+       printk_debug("Adding high table area\n");
+               lb_add_memory_range(mem, LB_MEM_TABLE,
+               high_tables_base, high_tables_size);
+#endif
+return 0;
+}
Index: src/mainboard/tyan/s2912_fam10/Options.lb
===================================================================
--- src/mainboard/tyan/s2912_fam10/Options.lb   (revision 3981)
+++ src/mainboard/tyan/s2912_fam10/Options.lb   (working copy)
@@ -22,6 +22,8 @@
 uses HAVE_MP_TABLE
 uses HAVE_PIRQ_TABLE
 uses HAVE_ACPI_TABLES
+uses HAVE_MAINBOARD_RESOURCES
+uses HAVE_HIGH_TABLES
 uses ACPI_SSDTX_NUM
 uses USE_FALLBACK_IMAGE
 uses USE_FAILOVER_IMAGE
@@ -166,6 +168,8 @@

 ## ACPI tables will be included
 default HAVE_ACPI_TABLES=0
+default HAVE_MAINBOARD_RESOURCES=0
+default HAVE_HIGH_TABLES=1
 ## extra SSDT num
 default ACPI_SSDTX_NUM=31

@@ -211,8 +215,8 @@
 #default HW_MEM_HOLE_SIZE_AUTO_INC=1

 #VGA Console
-default CONFIG_CONSOLE_VGA=1
-default CONFIG_PCI_ROM_RUN=1
+default CONFIG_CONSOLE_VGA=0
+default CONFIG_PCI_ROM_RUN=0

 #default CONFIG_USBDEBUG_DIRECT=1

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20090306/c968700c/attachment.html>


More information about the coreboot mailing list