[coreboot-gerrit] Patch set updated for coreboot: ae3e0ec Lenovo X60: permit to compile the x60 code without SMM.

Paul Menzel (paulepanter@users.sourceforge.net) gerrit at coreboot.org
Sun Jun 2 14:35:22 CEST 2013


Paul Menzel (paulepanter at users.sourceforge.net) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3274

-gerrit

commit ae3e0ecfd32ff75a4cadb5f8f7b3adae32f7324f
Author: Denis 'GNUtoo' Carikli <GNUtoo at no-log.org>
Date:   Sun Apr 21 19:32:02 2013 +0200

    Lenovo X60: permit to compile the x60 code without SMM.
    
    Removing or commenting `HAVE_SMI_HANDLER` from the Kconfig
    file – by default .config –, results in the following build
    error.
    
            CC         cbfs/fallback/coreboot_ram.debug
        build/generated/coreboot_ram.o: In function `i82801gx_lock_smm':
        src/southbridge/intel/i82801gx/lpc.c:350: undefined reference to `smm_lock'
        build/generated/coreboot_ram.o: In function `write_acpi_tables':
        src/mainboard/lenovo/x60/acpi_tables.c:231: undefined reference to `smm_setup_structures'
        build/generated/coreboot_ram.o: In function `initialize_cpus':
        src/cpu/x86/lapic/lapic_cpu_init.c:562: undefined reference to `smm_init'
        build/generated/coreboot_ram.o: In function `acpi_resume':
        src/arch/x86/boot/acpi.c:633: undefined reference to `smm_setup_structures'
        collect2: error: ld returned 1 exit status
    
    Adding the following guards
    
        #if CONFIG_HAVE_SMI_HANDLER
        […]
        #endif
    
    at the appropriate places, results in a successful build.
    
    Change-Id: I33088e89030b5ef55fd83c188beedd76f07d86cb
    Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo at no-log.org>
---
 src/mainboard/lenovo/x60/acpi_tables.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/mainboard/lenovo/x60/acpi_tables.c b/src/mainboard/lenovo/x60/acpi_tables.c
index f6ed4ae..82d6a18 100644
--- a/src/mainboard/lenovo/x60/acpi_tables.c
+++ b/src/mainboard/lenovo/x60/acpi_tables.c
@@ -35,6 +35,7 @@ extern const unsigned char AmlCode[];
 unsigned long acpi_create_slic(unsigned long current);
 #endif
 
+#if CONFIG_HAVE_SMI_HANDLER
 #include "southbridge/intel/i82801gx/nvs.h"
 static void acpi_create_gnvs(global_nvs_t *gnvs)
 {
@@ -54,6 +55,7 @@ static void acpi_create_gnvs(global_nvs_t *gnvs)
 	gnvs->did[3] = 0x80000410;
 	gnvs->did[4] = 0x00000005;
 }
+#endif
 
 unsigned long acpi_fill_madt(unsigned long current)
 {
@@ -107,7 +109,9 @@ void smm_setup_structures(void *gnvs, void *tcg, void *smi1);
 unsigned long write_acpi_tables(unsigned long start)
 {
 	unsigned long current;
+#if CONFIG_HAVE_SMI_HANDLER
 	int i;
+#endif
 	acpi_rsdp_t *rsdp;
 	acpi_rsdt_t *rsdt;
 	acpi_xsdt_t *xsdt;
@@ -121,8 +125,9 @@ unsigned long write_acpi_tables(unsigned long start)
 #endif
 	acpi_header_t *ssdt;
 	acpi_header_t *dsdt;
+#if CONFIG_HAVE_SMI_HANDLER
 	void *gnvs;
-
+#endif
 	current = start;
 
 	/* Align ACPI tables to 16byte */
@@ -185,7 +190,7 @@ unsigned long write_acpi_tables(unsigned long start)
 	memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
 	current += dsdt->length;
 	memcpy(dsdt, &AmlCode, dsdt->length);
-
+#if CONFIG_HAVE_SMI_HANDLER
 	/* Fix up global NVS region for SMI handler. The GNVS region lives
 	 * in the (high) table area. The low memory map looks like this:
 	 *
@@ -237,6 +242,8 @@ unsigned long write_acpi_tables(unsigned long start)
 	printk(BIOS_DEBUG, "ACPI:     * DSDT @ %p Length %x\n", dsdt,
 		     dsdt->length);
 
+#endif
+
 #if CONFIG_HAVE_ACPI_SLIC
 	printk(BIOS_DEBUG, "ACPI:     * SLIC\n");
 	slic = (acpi_header_t *)current;



More information about the coreboot-gerrit mailing list