[coreboot-gerrit] Patch set updated for coreboot: e378053 lynxpoint: export mem console pointer in ACPI

Stefan Reinauer (stefan.reinauer@coreboot.org) gerrit at coreboot.org
Wed Nov 20 01:49:59 CET 2013


Stefan Reinauer (stefan.reinauer at coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4149

-gerrit

commit e3780533c97dd841ece58b9590d5ab81ac69a0c0
Author: Aaron Durbin <adurbin at chromium.org>
Date:   Wed May 1 13:41:44 2013 -0500

    lynxpoint: export mem console pointer in ACPI
    
    Instead of having an OS re-parse cbmem book-keeping records
    for the cbmem allocator just to get the console buffer export
    the pointer to the memory console directly in a field named 'CBMC'.
    This field lives in the GNVS table.
    
    Change-Id: Ief0c4da7b18df66feb9c816c9f4abdf5a72bd3a4
    Signed-off-by: Aaron Durbin <adurbin at chromium.org>
    Reviewed-on: https://gerrit.chromium.org/gerrit/49764
    Reviewed-by: Stefan Reinauer <reinauer at chromium.org>
    Reviewed-by: Duncan Laurie <dlaurie at chromium.org>
---
 src/mainboard/google/slippy/acpi_tables.c          | 3 +++
 src/mainboard/intel/baskingridge/acpi_tables.c     | 3 +++
 src/mainboard/intel/wtm2/acpi_tables.c             | 3 +++
 src/southbridge/intel/lynxpoint/acpi/globalnvs.asl | 3 +++
 src/southbridge/intel/lynxpoint/nvs.h              | 3 ++-
 5 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/mainboard/google/slippy/acpi_tables.c b/src/mainboard/google/slippy/acpi_tables.c
index 16a1c6a..e08a7ce 100644
--- a/src/mainboard/google/slippy/acpi_tables.c
+++ b/src/mainboard/google/slippy/acpi_tables.c
@@ -103,6 +103,9 @@ static void acpi_create_gnvs(global_nvs_t *gnvs)
 	gnvs->chromeos.vbt2 = ACTIVE_ECFW_RO;
 #endif
 
+	/* Update the mem console pointer. */
+	gnvs->cbmc = (u32)cbmem_find(CBMEM_ID_CONSOLE);
+
 	acpi_update_thermal_table(gnvs);
 }
 
diff --git a/src/mainboard/intel/baskingridge/acpi_tables.c b/src/mainboard/intel/baskingridge/acpi_tables.c
index c4adcd7..f4b74bc 100644
--- a/src/mainboard/intel/baskingridge/acpi_tables.c
+++ b/src/mainboard/intel/baskingridge/acpi_tables.c
@@ -106,6 +106,9 @@ static void acpi_create_gnvs(global_nvs_t *gnvs)
 	gnvs->chromeos.vbt2 = ACTIVE_ECFW_RO;
 #endif
 
+	/* Update the mem console pointer. */
+	gnvs->cbmc = (u32)cbmem_find(CBMEM_ID_CONSOLE);
+
 	acpi_update_thermal_table(gnvs);
 }
 
diff --git a/src/mainboard/intel/wtm2/acpi_tables.c b/src/mainboard/intel/wtm2/acpi_tables.c
index 16a1c6a..e08a7ce 100644
--- a/src/mainboard/intel/wtm2/acpi_tables.c
+++ b/src/mainboard/intel/wtm2/acpi_tables.c
@@ -103,6 +103,9 @@ static void acpi_create_gnvs(global_nvs_t *gnvs)
 	gnvs->chromeos.vbt2 = ACTIVE_ECFW_RO;
 #endif
 
+	/* Update the mem console pointer. */
+	gnvs->cbmc = (u32)cbmem_find(CBMEM_ID_CONSOLE);
+
 	acpi_update_thermal_table(gnvs);
 }
 
diff --git a/src/southbridge/intel/lynxpoint/acpi/globalnvs.asl b/src/southbridge/intel/lynxpoint/acpi/globalnvs.asl
index 8f6c825..ef05dca 100644
--- a/src/southbridge/intel/lynxpoint/acpi/globalnvs.asl
+++ b/src/southbridge/intel/lynxpoint/acpi/globalnvs.asl
@@ -131,6 +131,9 @@ Field (GNVS, ByteAcc, NoLock, Preserve)
 	S6B1,	32,	// 0x98 - D21:F6 Serial IO UAR1 BAR1
 	S7B1,	32,	// 0x9c - D23:F0 Serial IO SDIO BAR1
 
+	Offset (0xa0),
+	CBMC, 32,	// 0xa0 - coreboot mem console pointer
+
 	/* IGD OpRegion */
 	Offset (0xb4),
 	ASLB,	32,	// 0xb4 - IGD OpRegion Base Address
diff --git a/src/southbridge/intel/lynxpoint/nvs.h b/src/southbridge/intel/lynxpoint/nvs.h
index 3df1da1..4283ca1 100644
--- a/src/southbridge/intel/lynxpoint/nvs.h
+++ b/src/southbridge/intel/lynxpoint/nvs.h
@@ -90,7 +90,8 @@ typedef struct {
 	/* LynxPoint Serial IO device BARs */
 	u32	s0b[8]; /* 0x60 - 0x7f - BAR0 */
 	u32	s1b[8]; /* 0x80 - 0x9f - BAR1 */
-	u8	rsvd6[20];
+	u32	cbmc;   /* 0xa0 - 0xa3 - coreboot memconsole */
+	u8	rsvd6[16];
 	/* IGD OpRegion (not implemented yet) */
 	u32	aslb; /* 0xb4 - IGD OpRegion Base Address */
 	u8	ibtt; /* 0xb8 - IGD boot type */



More information about the coreboot-gerrit mailing list