diff options
author | Duncan Laurie <dlaurie@chromium.org> | 2016-05-26 12:47:05 -0700 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2016-08-06 04:35:43 +0200 |
commit | 37319036463561521a0ffd613e4c387e65d2ace0 (patch) | |
tree | f8070763ee4b1a068cb89785c101b10c7787e0cf /src/arch/x86/acpigen.c | |
parent | d89bcf284111f13ff827bf17f7741e2f5eff2410 (diff) |
acpi: Generate object for coreboot table region
Generate an object to describe the coreboot table region in ACPI
with the HID "CORE0000" so it can be used by kernel drivers.
To keep track of the "CORE" HID usage add them to an enum and add
a function to generate the HID in AML: Name (_HID, "CORExxxx")
BUG=chromium:589817
BRANCH=none
TEST=build and boot on chell, dump SSDT to verify contents:
Device (CTBL)
{
Name (_HID, "CORE0000") // _HID: Hardware ID
Name (_UID, Zero) // _UID: Unique ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
{
Memory32Fixed (ReadOnly,
0x7AB84000, // Address Base
0x00008000, // Address Length
)
})
}
Change-Id: I2c681c1fee02d52b8df2e72f6f6f0b76fa9592fb
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://review.coreboot.org/16056
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Diffstat (limited to 'src/arch/x86/acpigen.c')
-rw-r--r-- | src/arch/x86/acpigen.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/arch/x86/acpigen.c b/src/arch/x86/acpigen.c index 915faac802..f35fe02b6b 100644 --- a/src/arch/x86/acpigen.c +++ b/src/arch/x86/acpigen.c @@ -220,6 +220,14 @@ void acpigen_write_string(const char *string) acpigen_emit_string(string); } +void acpigen_write_coreboot_hid(enum coreboot_acpi_ids id) +{ + char hid[9]; /* CORExxxx */ + + snprintf(hid, sizeof(hid), "%.4s%04u", COREBOOT_ACPI_ID, id); + acpigen_write_name_string("_HID", hid); +} + /* * The naming conventions for ACPI namespace names are a bit tricky as * each element has to be 4 chars wide ("All names are a fixed 32 bits.") |