ACPI: Do minor improvements on GNVS
Reorder the support functions to make a bit more sense, allocations happen first. Add related comments about the bootstate these are to be called from. Change-Id: Ie6d66f6e4c30519dee4520f6e9dec3c8c678ab57 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/50003 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
parent
0a54685b29
commit
62d6f1f943
|
@ -12,27 +12,12 @@
|
||||||
|
|
||||||
static struct global_nvs *gnvs;
|
static struct global_nvs *gnvs;
|
||||||
|
|
||||||
void *acpi_get_gnvs(void)
|
|
||||||
{
|
|
||||||
if (gnvs)
|
|
||||||
return gnvs;
|
|
||||||
|
|
||||||
gnvs = cbmem_find(CBMEM_ID_ACPI_GNVS);
|
|
||||||
if (gnvs)
|
|
||||||
return gnvs;
|
|
||||||
|
|
||||||
printk(BIOS_ERR, "Unable to locate Global NVS\n");
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
__weak void soc_fill_gnvs(struct global_nvs *gnvs_) { }
|
|
||||||
__weak void mainboard_fill_gnvs(struct global_nvs *gnvs_) { }
|
|
||||||
|
|
||||||
void acpi_create_gnvs(void)
|
void acpi_create_gnvs(void)
|
||||||
{
|
{
|
||||||
size_t gnvs_size;
|
size_t gnvs_size;
|
||||||
|
|
||||||
if (cbmem_find(CBMEM_ID_ACPI_GNVS))
|
gnvs = cbmem_find(CBMEM_ID_ACPI_GNVS);
|
||||||
|
if (gnvs)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Match with OpRegion declared in global_nvs.asl. */
|
/* Match with OpRegion declared in global_nvs.asl. */
|
||||||
|
@ -57,11 +42,29 @@ void acpi_create_gnvs(void)
|
||||||
gnvs_assign_chromeos((u8 *)gnvs + GNVS_CHROMEOS_ACPI_OFFSET);
|
gnvs_assign_chromeos((u8 *)gnvs + GNVS_CHROMEOS_ACPI_OFFSET);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void *acpi_get_gnvs(void)
|
||||||
|
{
|
||||||
|
if (gnvs)
|
||||||
|
return gnvs;
|
||||||
|
|
||||||
|
gnvs = cbmem_find(CBMEM_ID_ACPI_GNVS);
|
||||||
|
if (gnvs)
|
||||||
|
return gnvs;
|
||||||
|
|
||||||
|
printk(BIOS_ERR, "Unable to locate Global NVS\n");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
void *acpi_get_device_nvs(void)
|
void *acpi_get_device_nvs(void)
|
||||||
{
|
{
|
||||||
return (u8 *)gnvs + GNVS_DEVICE_NVS_OFFSET;
|
return (u8 *)gnvs + GNVS_DEVICE_NVS_OFFSET;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Implemented under platform. */
|
||||||
|
__weak void soc_fill_gnvs(struct global_nvs *gnvs_) { }
|
||||||
|
__weak void mainboard_fill_gnvs(struct global_nvs *gnvs_) { }
|
||||||
|
|
||||||
|
/* Called from write_acpi_tables() only on normal boot path. */
|
||||||
void acpi_fill_gnvs(void)
|
void acpi_fill_gnvs(void)
|
||||||
{
|
{
|
||||||
if (!gnvs)
|
if (!gnvs)
|
||||||
|
|
Loading…
Reference in New Issue