@@ -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, 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, 4);
header->length = sizeof(struct acpi_tpm2);
header->revision = acpi_get_table_revision(ACPITAB_TPM2);
@@ -18,10 +18,7 @@
#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 "UBOO" /* U-Boot */
#define ACPI_RSDP_REV_ACPI_1_0 0
#define ACPI_RSDP_REV_ACPI_2_0 2
@@ -10,6 +10,7 @@
#include <errno.h>
#include <mapmem.h>
#include <tables_csum.h>
+#include <version.h>
#include <version_string.h>
#include <acpi/acpi_table.h>
#include <asm/global_data.h>
@@ -174,8 +175,9 @@ 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, 4);
+ header->creator_revision = (U_BOOT_VERSION_NUM << 16) |
+ (U_BOOT_VERSION_NUM_PATCH << 8);
}
void acpi_align(struct acpi_ctx *ctx)
@@ -126,7 +126,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, 4);
header->creator_revision = 1;
fadt->minor_revision = 2;
@@ -13,6 +13,7 @@
#include <malloc.h>
#include <mapmem.h>
#include <tables_csum.h>
+#include <version.h>
#include <version_string.h>
#include <acpi/acpigen.h>
#include <acpi/acpi_device.h>
@@ -25,6 +26,9 @@
#define BUF_SIZE 4096
+#define CREATOR_REVISION ((U_BOOT_VERSION_NUM << 16) | \
+ (U_BOOT_VERSION_NUM_PATCH << 8))
+
#define OEM_REVISION ((((version_num / 1000) % 10) << 28) | \
(((version_num / 100) % 10) << 24) | \
(((version_num / 10) % 10) << 20) | \
@@ -263,8 +267,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, hdr.creator_id, sizeof(hdr.creator_id));
+ ut_asserteq(CREATOR_REVISION, hdr.creator_revision);
return 0;
}
@@ -417,22 +421,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,
+ 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,
+ 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,
+ 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,
+ 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,
+ CREATOR_REVISION);
ut_assert_console_end();
unmap_sysmem(buf);
free(buf);
@@ -461,22 +470,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,
+ 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,
+ 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,
+ 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,
+ 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,
+ CREATOR_REVISION);
ut_assert_console_end();
ut_assert_console_end();
unmap_sysmem(buf);