OSDN Git Service

Support decoding ACPI Generic Container and Embedded Controller dp nodes
authorPeter Jones <pjones@redhat.com>
Mon, 1 Oct 2018 18:31:06 +0000 (14:31 -0400)
committerPeter Jones <pjones@redhat.com>
Mon, 1 Oct 2018 18:31:06 +0000 (14:31 -0400)
Signed-off-by: Peter Jones <pjones@redhat.com>
src/dp-acpi.c
src/include/efivar/efivar-dp.h

index 019f910..3a80ba9 100644 (file)
@@ -147,10 +147,19 @@ _format_acpi_dn(char *buf, size_t size, const_efidp dp)
                                format(buf, size, off, "PciRoot",
                                       "PciRoot(%s)", uidstr);
                                return off;
+                       case EFIDP_ACPI_CONTAINER_0A05_HID:
+                       case EFIDP_ACPI_CONTAINER_0A06_HID:
+                               format(buf, size, off, "AcpiContainer",
+                                      "AcpiContainer(%s)", uidstr);
+                               break;
                        case EFIDP_ACPI_PCIE_ROOT_HID:
                                format(buf, size, off, "PcieRoot",
                                       "PcieRoot(%s)", uidstr);
                                return off;
+                       case EFIDP_ACPI_EC_HID:
+                               format(buf, size, off, "EmbeddedController",
+                                      "EmbeddedController()");
+                               return off;
                        default:
                                format_acpi_hid_ex(buf, size, off, dp,
                                                   hidstr, cidstr, uidstr);
@@ -166,11 +175,20 @@ _format_acpi_dn(char *buf, size_t size, const_efidp dp)
                               "PciRoot(0x%"PRIx32")",
                               dp->acpi_hid.uid);
                        break;
+               case EFIDP_ACPI_CONTAINER_0A05_HID:
+               case EFIDP_ACPI_CONTAINER_0A06_HID:
+                       format(buf, size, off, "AcpiContainer",
+                              "AcpiContainer()");
+                       break;
                case EFIDP_ACPI_PCIE_ROOT_HID:
                        format(buf, size, off, "PcieRoot",
                               "PcieRoot(0x%"PRIx32")",
                               dp->acpi_hid.uid);
                        break;
+               case EFIDP_ACPI_EC_HID:
+                       format(buf, size, off, "EmbeddedController",
+                              "EmbeddedController()");
+                       break;
                case EFIDP_ACPI_FLOPPY_HID:
                        format(buf, size, off, "Floppy",
                               "Floppy(0x%"PRIx32")",
index f9ebb05..eab04f2 100644 (file)
@@ -155,7 +155,10 @@ efidp_make_acpi_hid_ex(uint8_t *buf, ssize_t size,
 #define EFIDP_ACPI_ID_TO_NUM(_HID)     ((_HID) >> 16)
 
 #define EFIDP_ACPI_PCI_ROOT_HID                EFIDP_EFI_PNP_ID(0x0a03)
+#define EFIDP_ACPI_CONTAINER_0A05_HID  EFIDP_EFI_PNP_ID(0x0a05)
+#define EFIDP_ACPI_CONTAINER_0A06_HID  EFIDP_EFI_PNP_ID(0x0a06)
 #define EFIDP_ACPI_PCIE_ROOT_HID       EFIDP_EFI_PNP_ID(0x0a08)
+#define EFIDP_ACPI_EC_HID              EFIDP_EFI_PNP_ID(0x0a09)
 #define EFIDP_ACPI_FLOPPY_HID          EFIDP_EFI_PNP_ID(0x0604)
 #define EFIDP_ACPI_KEYBOARD_HID                EFIDP_EFI_PNP_ID(0x0301)
 #define EFIDP_ACPI_SERIAL_HID          EFIDP_EFI_PNP_ID(0x0501)