mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-02 09:46:37 +03:00
acpi: use U-Boot ACPI vendor ID
The U-Boot project has been assigned the vendor ID 'UBOO' [1]. Use this
vendor ID and our release version in the ACPI table headers.
[1] ACPI ID Registry
https://uefi.org/ACPI_ID_List
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
committed by
Tom Rini
parent
59f6025e5a
commit
b790f31752
@@ -408,7 +408,7 @@ int nhlt_serialise_oem_overrides(struct acpi_ctx *ctx, struct nhlt *nhlt,
|
||||
memcpy(header->oem_table_id, oem_table_id, oem_table_id_len);
|
||||
}
|
||||
header->oem_revision = oem_revision;
|
||||
memcpy(header->creator_id, ASLC_ID, 4);
|
||||
memcpy(header->creator_id, ACPI_CREATOR_ID, 4);
|
||||
|
||||
cur.buf = (void *)(header + 1);
|
||||
cur.start = (void *)header;
|
||||
|
||||
@@ -224,7 +224,7 @@ static int acpi_write_tpm2(struct acpi_ctx *ctx,
|
||||
|
||||
/* Fill out header fields. */
|
||||
acpi_fill_header(header, "TPM2");
|
||||
memcpy(header->creator_id, ASLC_ID, 4);
|
||||
memcpy(header->creator_id, ACPI_CREATOR_ID, 4);
|
||||
|
||||
header->length = sizeof(struct acpi_tpm2);
|
||||
header->revision = acpi_get_table_revision(ACPITAB_TPM2);
|
||||
|
||||
@@ -13,15 +13,29 @@
|
||||
#ifndef __ACPI_TABLE_H__
|
||||
#define __ACPI_TABLE_H__
|
||||
|
||||
#include <version.h>
|
||||
#include <dm/acpi.h>
|
||||
|
||||
#define RSDP_SIG "RSD PTR " /* RSDP pointer signature */
|
||||
#define OEM_ID "U-BOOT" /* U-Boot */
|
||||
#define OEM_TABLE_ID "U-BOOTBL" /* U-Boot Table */
|
||||
#define ASLC_ID "INTL" /* Intel ASL Compiler */
|
||||
|
||||
/* TODO(sjg@chromium.org): Figure out how to get compiler revision */
|
||||
#define ASL_REVISION 0
|
||||
/**
|
||||
* define ACPI_CREATOR_ID - ACPI creator ID
|
||||
*
|
||||
* This is the ACPI assigned vendor ID for the U-Boot project.
|
||||
* It is used in the ACPI tables created by U-Boot.
|
||||
*/
|
||||
#define ACPI_CREATOR_ID "UBOO"
|
||||
|
||||
/**
|
||||
* define ACPI_CREATOR_REVISION - ACPI creator ID
|
||||
*
|
||||
* This encodes the U-Boot version.
|
||||
* It is used in the ACPI tables created by U-Boot.
|
||||
*/
|
||||
#define ACPI_CREATOR_REVISION \
|
||||
(U_BOOT_VERSION_NUM << 4 | U_BOOT_VERSION_NUM_PATCH)
|
||||
|
||||
#define ACPI_RSDP_REV_ACPI_1_0 0
|
||||
#define ACPI_RSDP_REV_ACPI_2_0 2
|
||||
|
||||
@@ -134,8 +134,8 @@ void acpi_fill_header(struct acpi_table_header *header, char *signature)
|
||||
memcpy(header->oem_id, OEM_ID, 6);
|
||||
memcpy(header->oem_table_id, OEM_TABLE_ID, 8);
|
||||
header->oem_revision = OEM_REVISION;
|
||||
memcpy(header->creator_id, ASLC_ID, 4);
|
||||
header->creator_revision = ASL_REVISION;
|
||||
memcpy(header->creator_id, ACPI_CREATOR_ID, 4);
|
||||
header->creator_revision = ACPI_CREATOR_REVISION;
|
||||
}
|
||||
|
||||
void acpi_align(struct acpi_ctx *ctx)
|
||||
@@ -248,7 +248,7 @@ int acpi_write_fadt(struct acpi_ctx *ctx, const struct acpi_writer *entry)
|
||||
header->revision = acpi_get_table_revision(ACPITAB_FADT);
|
||||
memcpy(header->oem_id, OEM_ID, 6);
|
||||
memcpy(header->oem_table_id, OEM_TABLE_ID, 8);
|
||||
memcpy(header->creator_id, ASLC_ID, 4);
|
||||
memcpy(header->creator_id, ACPI_CREATOR_ID, 4);
|
||||
header->creator_revision = 1;
|
||||
fadt->minor_revision = 2;
|
||||
|
||||
|
||||
@@ -261,8 +261,8 @@ static int dm_test_acpi_fill_header(struct unit_test_state *uts)
|
||||
ut_asserteq_mem(OEM_TABLE_ID, hdr.oem_table_id,
|
||||
sizeof(hdr.oem_table_id));
|
||||
ut_asserteq(OEM_REVISION, hdr.oem_revision);
|
||||
ut_asserteq_mem(ASLC_ID, hdr.creator_id, sizeof(hdr.creator_id));
|
||||
ut_asserteq(ASL_REVISION, hdr.creator_revision);
|
||||
ut_asserteq_mem(ACPI_CREATOR_ID, hdr.creator_id, sizeof(hdr.creator_id));
|
||||
ut_asserteq(ACPI_CREATOR_REVISION, hdr.creator_revision);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -415,22 +415,27 @@ static int dm_test_acpi_cmd_list(struct unit_test_state *uts)
|
||||
ut_assert_nextline("RSDP %16lx %5zx v02 U-BOOT", addr,
|
||||
sizeof(struct acpi_rsdp));
|
||||
addr = ALIGN(addr + sizeof(struct acpi_rsdp), 16);
|
||||
ut_assert_nextline("RSDT %16lx %5zx v01 U-BOOT U-BOOTBL %x INTL 0",
|
||||
ut_assert_nextline("RSDT %16lx %5zx v01 U-BOOT U-BOOTBL %x UBOO %x",
|
||||
addr, sizeof(struct acpi_table_header) +
|
||||
3 * sizeof(u32), OEM_REVISION);
|
||||
3 * sizeof(u32), OEM_REVISION,
|
||||
ACPI_CREATOR_REVISION);
|
||||
addr = ALIGN(addr + sizeof(struct acpi_rsdt), 16);
|
||||
ut_assert_nextline("XSDT %16lx %5zx v01 U-BOOT U-BOOTBL %x INTL 0",
|
||||
ut_assert_nextline("XSDT %16lx %5zx v01 U-BOOT U-BOOTBL %x UBOO %x",
|
||||
addr, sizeof(struct acpi_table_header) +
|
||||
3 * sizeof(u64), OEM_REVISION);
|
||||
3 * sizeof(u64), OEM_REVISION,
|
||||
ACPI_CREATOR_REVISION);
|
||||
addr = ALIGN(addr + sizeof(struct acpi_xsdt), 64);
|
||||
ut_assert_nextline("DMAR %16lx %5zx v01 U-BOOT U-BOOTBL %x INTL 0",
|
||||
addr, sizeof(struct acpi_dmar), OEM_REVISION);
|
||||
ut_assert_nextline("DMAR %16lx %5zx v01 U-BOOT U-BOOTBL %x UBOO %x",
|
||||
addr, sizeof(struct acpi_dmar), OEM_REVISION,
|
||||
ACPI_CREATOR_REVISION);
|
||||
addr = ALIGN(addr + sizeof(struct acpi_dmar), 16);
|
||||
ut_assert_nextline("DMAR %16lx %5zx v01 U-BOOT U-BOOTBL %x INTL 0",
|
||||
addr, sizeof(struct acpi_dmar), OEM_REVISION);
|
||||
ut_assert_nextline("DMAR %16lx %5zx v01 U-BOOT U-BOOTBL %x UBOO %x",
|
||||
addr, sizeof(struct acpi_dmar), OEM_REVISION,
|
||||
ACPI_CREATOR_REVISION);
|
||||
addr = ALIGN(addr + sizeof(struct acpi_dmar), 16);
|
||||
ut_assert_nextline("DMAR %16lx %5zx v01 U-BOOT U-BOOTBL %x INTL 0",
|
||||
addr, sizeof(struct acpi_dmar), OEM_REVISION);
|
||||
ut_assert_nextline("DMAR %16lx %5zx v01 U-BOOT U-BOOTBL %x UBOO %x",
|
||||
addr, sizeof(struct acpi_dmar), OEM_REVISION,
|
||||
ACPI_CREATOR_REVISION);
|
||||
ut_assert_console_end();
|
||||
unmap_sysmem(buf);
|
||||
free(buf);
|
||||
@@ -459,23 +464,27 @@ static int dm_test_acpi_cmd_list_chksum(struct unit_test_state *uts)
|
||||
ut_assert_nextline("RSDP %16lx %5zx v02 U-BOOT OK OK", addr,
|
||||
sizeof(struct acpi_rsdp));
|
||||
addr = ALIGN(addr + sizeof(struct acpi_rsdp), 16);
|
||||
ut_assert_nextline("RSDT %16lx %5zx v01 U-BOOT U-BOOTBL %x INTL 0 OK",
|
||||
ut_assert_nextline("RSDT %16lx %5zx v01 U-BOOT U-BOOTBL %x UBOO %x OK",
|
||||
addr, sizeof(struct acpi_table_header) +
|
||||
3 * sizeof(u32), OEM_REVISION);
|
||||
3 * sizeof(u32), OEM_REVISION,
|
||||
ACPI_CREATOR_REVISION);
|
||||
addr = ALIGN(addr + sizeof(struct acpi_rsdt), 16);
|
||||
ut_assert_nextline("XSDT %16lx %5zx v01 U-BOOT U-BOOTBL %x INTL 0 OK",
|
||||
ut_assert_nextline("XSDT %16lx %5zx v01 U-BOOT U-BOOTBL %x UBOO %x OK",
|
||||
addr, sizeof(struct acpi_table_header) +
|
||||
3 * sizeof(u64), OEM_REVISION);
|
||||
3 * sizeof(u64), OEM_REVISION,
|
||||
ACPI_CREATOR_REVISION);
|
||||
addr = ALIGN(addr + sizeof(struct acpi_xsdt), 64);
|
||||
ut_assert_nextline("DMAR %16lx %5zx v01 U-BOOT U-BOOTBL %x INTL 0 OK",
|
||||
addr, sizeof(struct acpi_dmar), OEM_REVISION);
|
||||
ut_assert_nextline("DMAR %16lx %5zx v01 U-BOOT U-BOOTBL %x UBOO %x OK",
|
||||
addr, sizeof(struct acpi_dmar), OEM_REVISION,
|
||||
ACPI_CREATOR_REVISION);
|
||||
addr = ALIGN(addr + sizeof(struct acpi_dmar), 16);
|
||||
ut_assert_nextline("DMAR %16lx %5zx v01 U-BOOT U-BOOTBL %x INTL 0 OK",
|
||||
addr, sizeof(struct acpi_dmar), OEM_REVISION);
|
||||
ut_assert_nextline("DMAR %16lx %5zx v01 U-BOOT U-BOOTBL %x UBOO %x OK",
|
||||
addr, sizeof(struct acpi_dmar), OEM_REVISION,
|
||||
ACPI_CREATOR_REVISION);
|
||||
addr = ALIGN(addr + sizeof(struct acpi_dmar), 16);
|
||||
ut_assert_nextline("DMAR %16lx %5zx v01 U-BOOT U-BOOTBL %x INTL 0 OK",
|
||||
addr, sizeof(struct acpi_dmar), OEM_REVISION);
|
||||
ut_assert_console_end();
|
||||
ut_assert_nextline("DMAR %16lx %5zx v01 U-BOOT U-BOOTBL %x UBOO %x OK",
|
||||
addr, sizeof(struct acpi_dmar), OEM_REVISION,
|
||||
ACPI_CREATOR_REVISION);
|
||||
ut_assert_console_end();
|
||||
unmap_sysmem(buf);
|
||||
free(buf);
|
||||
|
||||
Reference in New Issue
Block a user