diff options
author | Patrick Rudolph <patrick.rudolph@9elements.com> | 2019-12-13 12:16:06 +0100 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2020-01-09 14:22:51 +0000 |
commit | c83bab62b3657d97299c8368b6c610e4cbf994b6 (patch) | |
tree | f568d7f66b4a3491c6292040db29905111771de4 /src/drivers/crb | |
parent | 5c8ff794a8dcb0760c137d3b2dff1879a4a8dad6 (diff) | |
download | coreboot-c83bab62b3657d97299c8368b6c610e4cbf994b6.tar.xz |
acpi: Be more ACPI compliant when generating _UID
* Add function to generate unique _UID using CRC32
* Add function to write the _UID based on a device's ACPI path
ACPI devices that have the same _HID must use different _UID.
Linux doesn't care about _UID if it's not used.
Windows 10 verifies the ACPI code on boot and BSODs if two devices
with the same _HID share the same _UID.
Fixes BSOD seen on Windows 10.
Change-Id: I47cd5396060d325f9ce338afced6af021e7ff2b4
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/37695
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
Diffstat (limited to 'src/drivers/crb')
-rw-r--r-- | src/drivers/crb/tis.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/drivers/crb/tis.c b/src/drivers/crb/tis.c index f2aba48297..b1fbad01eb 100644 --- a/src/drivers/crb/tis.c +++ b/src/drivers/crb/tis.c @@ -117,7 +117,7 @@ static void crb_tpm_fill_ssdt(struct device *dev) acpigen_write_name_string("_HID", "MSFT0101"); acpigen_write_name_string("_CID", "MSFT0101"); - acpigen_write_name_integer("_UID", 1); + acpi_device_write_uid(dev); acpigen_write_STA(ACPI_STATUS_DEVICE_ALL_ON); |