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@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/49764
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: http://review.coreboot.org/4149
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
Aaron Durbin 2013-05-01 13:41:44 -05:00 committed by Stefan Reinauer
parent 8f4baece7a
commit 764d009a61
5 changed files with 14 additions and 1 deletions

View File

@ -92,6 +92,9 @@ static void acpi_create_gnvs(global_nvs_t *gnvs)
gnvs->chromeos.vbt2 = ACTIVE_ECFW_RO; gnvs->chromeos.vbt2 = ACTIVE_ECFW_RO;
#endif #endif
/* Update the mem console pointer. */
gnvs->cbmc = (u32)cbmem_find(CBMEM_ID_CONSOLE);
acpi_update_thermal_table(gnvs); acpi_update_thermal_table(gnvs);
} }

View File

@ -106,6 +106,9 @@ static void acpi_create_gnvs(global_nvs_t *gnvs)
gnvs->chromeos.vbt2 = ACTIVE_ECFW_RO; gnvs->chromeos.vbt2 = ACTIVE_ECFW_RO;
#endif #endif
/* Update the mem console pointer. */
gnvs->cbmc = (u32)cbmem_find(CBMEM_ID_CONSOLE);
acpi_update_thermal_table(gnvs); acpi_update_thermal_table(gnvs);
} }

View File

@ -103,6 +103,9 @@ static void acpi_create_gnvs(global_nvs_t *gnvs)
gnvs->chromeos.vbt2 = ACTIVE_ECFW_RO; gnvs->chromeos.vbt2 = ACTIVE_ECFW_RO;
#endif #endif
/* Update the mem console pointer. */
gnvs->cbmc = (u32)cbmem_find(CBMEM_ID_CONSOLE);
acpi_update_thermal_table(gnvs); acpi_update_thermal_table(gnvs);
} }

View File

@ -131,6 +131,9 @@ Field (GNVS, ByteAcc, NoLock, Preserve)
S6B1, 32, // 0x98 - D21:F6 Serial IO UAR1 BAR1 S6B1, 32, // 0x98 - D21:F6 Serial IO UAR1 BAR1
S7B1, 32, // 0x9c - D23:F0 Serial IO SDIO BAR1 S7B1, 32, // 0x9c - D23:F0 Serial IO SDIO BAR1
Offset (0xa0),
CBMC, 32, // 0xa0 - coreboot mem console pointer
/* IGD OpRegion */ /* IGD OpRegion */
Offset (0xb4), Offset (0xb4),
ASLB, 32, // 0xb4 - IGD OpRegion Base Address ASLB, 32, // 0xb4 - IGD OpRegion Base Address

View File

@ -90,7 +90,8 @@ typedef struct {
/* LynxPoint Serial IO device BARs */ /* LynxPoint Serial IO device BARs */
u32 s0b[8]; /* 0x60 - 0x7f - BAR0 */ u32 s0b[8]; /* 0x60 - 0x7f - BAR0 */
u32 s1b[8]; /* 0x80 - 0x9f - BAR1 */ u32 s1b[8]; /* 0x80 - 0x9f - BAR1 */
u8 rsvd6[20]; u32 cbmc; /* 0xa0 - 0xa3 - coreboot memconsole */
u8 rsvd6[16];
/* IGD OpRegion (not implemented yet) */ /* IGD OpRegion (not implemented yet) */
u32 aslb; /* 0xb4 - IGD OpRegion Base Address */ u32 aslb; /* 0xb4 - IGD OpRegion Base Address */
u8 ibtt; /* 0xb8 - IGD boot type */ u8 ibtt; /* 0xb8 - IGD boot type */