Amol N Sukerkar has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/32158
Change subject: src/arch/x86: Enabled support for dsdt.aml ......................................................................
src/arch/x86: Enabled support for dsdt.aml
This change enables vboot Stage Verification support for dsdt.aml ACPI table.
BRANCH=none
TEST=Create a coreboot.rom image by enabling CONFIG_VBOOT_STAGE_VERIFICATION and CONFIG_VBOOT. Verify that the image boots to authenticated payload and graphics is displayed via HDMI and Display Port.
Change-Id: I971ed8ed28cdb6355d342793ae6bb3d754939c21 Signed-off-by: Sukerkar, Amol N amol.n.sukerkar@intel.com --- M src/arch/x86/acpi.c 1 file changed, 33 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/58/32158/1
diff --git a/src/arch/x86/acpi.c b/src/arch/x86/acpi.c index f08a401..d129261 100644 --- a/src/arch/x86/acpi.c +++ b/src/arch/x86/acpi.c @@ -9,6 +9,7 @@ * Copyright (C) 2015 Timothy Pearson tpearson@raptorengineeringinc.com, * Raptor Engineering * Copyright (C) 2016-2019 Siemens AG + * Copyright (C) 2019 Intel Corp. * * ACPI FADT, FACS, and DSDT table support added by * Nick Barker nick.barker9@btinternet.com, and those portions @@ -1110,6 +1111,34 @@ return 0; }
+/* This is marked as weak so some verification mechanism can + * use it to verify after loading into DRAM. Primarily + * overriden by VBOOT mechanism. + */ +void __weak verify_stage_if_required(const struct region_device *rdev, + const char * name) +{ + /* no op */ +} + +/* This is wrapper for acpi table to be verified, if required */ +static void verify_acpi_table(const char *name) +{ + const struct region_device *rdev = NULL; + struct prog file = PROG_INIT(PROG_UNKNOWN, name); + + if (prog_locate(&file)) { + printk (BIOS_ERR, "ERROR: Unable to locate %s\n", prog_name(&file)); + return; + } + + rdev = &file.rdev; + + /* verify if required */ + verify_stage_if_required(rdev, prog_name(&file)); +} + + unsigned long write_acpi_tables(unsigned long start) { unsigned long current; @@ -1228,6 +1257,10 @@ current = acpi_align_current(current);
acpi_create_fadt(fadt, facs, dsdt); + + /* verify DSDT ACPI table */ + verify_acpi_table(CONFIG_CBFS_PREFIX "/dsdt.aml"); + acpi_add_table(rsdp, fadt);
if (slic_file) {
build bot (Jenkins) has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32158 )
Change subject: src/arch/x86: Enabled support for dsdt.aml ......................................................................
Patch Set 1:
(4 comments)
https://review.coreboot.org/#/c/32158/1/src/arch/x86/acpi.c File src/arch/x86/acpi.c:
https://review.coreboot.org/#/c/32158/1/src/arch/x86/acpi.c@1116 PS1, Line 1116: * overriden by VBOOT mechanism. 'overriden' may be misspelled - perhaps 'overridden'?
https://review.coreboot.org/#/c/32158/1/src/arch/x86/acpi.c@1119 PS1, Line 1119: const char * name) "foo * bar" should be "foo *bar"
https://review.coreboot.org/#/c/32158/1/src/arch/x86/acpi.c@1131 PS1, Line 1131: printk (BIOS_ERR, "ERROR: Unable to locate %s\n", prog_name(&file)); line over 80 characters
https://review.coreboot.org/#/c/32158/1/src/arch/x86/acpi.c@1131 PS1, Line 1131: printk (BIOS_ERR, "ERROR: Unable to locate %s\n", prog_name(&file)); space prohibited between function name and open parenthesis '('
Hello Subrata Banik, Philipp Deppenwiese, build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/32158
to look at the new patch set (#2).
Change subject: src/arch/x86: Enabled support for dsdt.aml ......................................................................
src/arch/x86: Enabled support for dsdt.aml
This change enables vboot Stage Verification support for dsdt.aml ACPI table.
BRANCH=none
TEST=Create a coreboot.rom image by enabling CONFIG_VBOOT_STAGE_VERIFICATION and CONFIG_VBOOT. Verify that the image boots to authenticated payload and graphics is displayed via HDMI and Display Port.
Change-Id: I971ed8ed28cdb6355d342793ae6bb3d754939c21 Signed-off-by: Sukerkar, Amol N amol.n.sukerkar@intel.com --- M src/arch/x86/acpi.c 1 file changed, 33 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/58/32158/2
build bot (Jenkins) has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32158 )
Change subject: src/arch/x86: Enabled support for dsdt.aml ......................................................................
Patch Set 2:
(4 comments)
https://review.coreboot.org/#/c/32158/2/src/arch/x86/acpi.c File src/arch/x86/acpi.c:
https://review.coreboot.org/#/c/32158/2/src/arch/x86/acpi.c@1116 PS2, Line 1116: * overriden by VBOOT mechanism. 'overriden' may be misspelled - perhaps 'overridden'?
https://review.coreboot.org/#/c/32158/2/src/arch/x86/acpi.c@1119 PS2, Line 1119: const char * name) "foo * bar" should be "foo *bar"
https://review.coreboot.org/#/c/32158/2/src/arch/x86/acpi.c@1131 PS2, Line 1131: printk (BIOS_ERR, "ERROR: Unable to locate %s\n", prog_name(&file)); line over 80 characters
https://review.coreboot.org/#/c/32158/2/src/arch/x86/acpi.c@1131 PS2, Line 1131: printk (BIOS_ERR, "ERROR: Unable to locate %s\n", prog_name(&file)); space prohibited between function name and open parenthesis '('
Amol N Sukerkar has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32158 )
Change subject: src/arch/x86: Enabled support for dsdt.aml ......................................................................
Patch Set 2:
(4 comments)
https://review.coreboot.org/#/c/32158/2/src/arch/x86/acpi.c File src/arch/x86/acpi.c:
https://review.coreboot.org/#/c/32158/2/src/arch/x86/acpi.c@1116 PS2, Line 1116: * overriden by VBOOT mechanism.
'overriden' may be misspelled - perhaps 'overridden'?
Ack
https://review.coreboot.org/#/c/32158/2/src/arch/x86/acpi.c@1119 PS2, Line 1119: const char * name)
"foo * bar" should be "foo *bar"
Ack
https://review.coreboot.org/#/c/32158/2/src/arch/x86/acpi.c@1131 PS2, Line 1131: printk (BIOS_ERR, "ERROR: Unable to locate %s\n", prog_name(&file));
line over 80 characters
Ack
https://review.coreboot.org/#/c/32158/2/src/arch/x86/acpi.c@1131 PS2, Line 1131: printk (BIOS_ERR, "ERROR: Unable to locate %s\n", prog_name(&file));
space prohibited between function name and open parenthesis '('
Ack
Hello Subrata Banik, Philipp Deppenwiese, build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/32158
to look at the new patch set (#3).
Change subject: src/arch/x86: Enabled support for dsdt.aml ......................................................................
src/arch/x86: Enabled support for dsdt.aml
This change enables vboot Stage Verification support for dsdt.aml ACPI table.
BRANCH=none
TEST=Create a coreboot.rom image by enabling CONFIG_VBOOT_STAGE_VERIFICATION and CONFIG_VBOOT. Verify that the image boots to authenticated payload and graphics is displayed via HDMI and Display Port.
Change-Id: I971ed8ed28cdb6355d342793ae6bb3d754939c21 Signed-off-by: Sukerkar, Amol N amol.n.sukerkar@intel.com --- M src/arch/x86/acpi.c 1 file changed, 34 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/58/32158/3
Julius Werner has abandoned this change. ( https://review.coreboot.org/c/coreboot/+/32158 )
Change subject: src/arch/x86: Enabled support for dsdt.aml ......................................................................
Abandoned
This direction of development was abandoned and instead the CONFIG_CBFS_VERIFICATION effort is intended to solve this use case. See CB:32159 for original discussion.