Skip to content

Commit

Permalink
ACPI, APEI, GHES, Support disable GHES at boot time
Browse files Browse the repository at this point in the history
Some machine may have broken firmware so that GHES and firmware first
mode should be disabled.  This patch adds support to that.

Signed-off-by: Huang Ying <[email protected]>
Reviewed-by: Andi Kleen <[email protected]>
Reviewed-by: Matthew Garrett <[email protected]>
Signed-off-by: Len Brown <[email protected]>
  • Loading branch information
yhuang-intel authored and lenb committed Jul 14, 2011
1 parent 86cd473 commit b6a9501
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 8 deletions.
8 changes: 8 additions & 0 deletions drivers/acpi/apei/ghes.c
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,9 @@ struct ghes {
};
};

int ghes_disable;
module_param_named(disable, ghes_disable, bool, 0);

static int ghes_panic_timeout __read_mostly = 30;

/*
Expand Down Expand Up @@ -665,6 +668,11 @@ static int __init ghes_init(void)
return -EINVAL;
}

if (ghes_disable) {
pr_info(GHES_PFX "GHES is not enabled!\n");
return -EINVAL;
}

rc = ghes_ioremap_init();
if (rc)
goto err;
Expand Down
17 changes: 9 additions & 8 deletions drivers/acpi/apei/hest.c
Original file line number Diff line number Diff line change
Expand Up @@ -231,16 +231,17 @@ void __init acpi_hest_init(void)
goto err;
}

rc = apei_hest_parse(hest_parse_ghes_count, &ghes_count);
if (rc)
goto err;

rc = hest_ghes_dev_register(ghes_count);
if (!rc) {
pr_info(HEST_PFX "Table parsing has been initialized.\n");
return;
if (!ghes_disable) {
rc = apei_hest_parse(hest_parse_ghes_count, &ghes_count);
if (rc)
goto err;
rc = hest_ghes_dev_register(ghes_count);
if (rc)
goto err;
}

pr_info(HEST_PFX "Table parsing has been initialized.\n");
return;
err:
hest_disable = 1;
}
1 change: 1 addition & 0 deletions include/acpi/apei.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

extern int hest_disable;
extern int erst_disable;
extern int ghes_disable;

#ifdef CONFIG_ACPI_APEI
void __init acpi_hest_init(void);
Expand Down

0 comments on commit b6a9501

Please sign in to comment.