[kernel][acpi_lite] Move exported structs to acpi_lite namespace.

Move the structures defined in "acpi_lite/structures.h" into the
acpi_lite namespace.

Change-Id: I4624fb5220417e53840e8e35e8b2dcd7741a6c67
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/435056
Testability-Review: David Greenaway <dgreenaway@google.com>
Reviewed-by: Adrian Danis <adanis@google.com>
Commit-Queue: David Greenaway <dgreenaway@google.com>
diff --git a/zircon/kernel/lib/acpi_lite/include/lib/acpi_lite/structures.h b/zircon/kernel/lib/acpi_lite/include/lib/acpi_lite/structures.h
index 09aef37..393d01b 100644
--- a/zircon/kernel/lib/acpi_lite/include/lib/acpi_lite/structures.h
+++ b/zircon/kernel/lib/acpi_lite/include/lib/acpi_lite/structures.h
@@ -12,6 +12,8 @@
 #include <zircon/compiler.h>
 #include <zircon/types.h>
 
+namespace acpi_lite {
+
 // First byte and length of the x86 BIOS read-only area, [0xe0'000, 0xff'fff].
 //
 // Reference: ACPI v6.3, Section 5.2.5.1
@@ -343,4 +345,6 @@
 #define ACPI_DBG2_SUBTYPE_USB_XHCI 0x0000
 #define ACPI_DBG2_SUBTYPE_USB_EHCI 0x0001
 
+}  // namespace acpi_lite
+
 #endif  // ZIRCON_KERNEL_LIB_ACPI_LITE_INCLUDE_LIB_ACPI_LITE_STRUCTURES_H_
diff --git a/zircon/kernel/lib/acpi_lite/structures.cc b/zircon/kernel/lib/acpi_lite/structures.cc
index daef8df..9e2ff75 100644
--- a/zircon/kernel/lib/acpi_lite/structures.cc
+++ b/zircon/kernel/lib/acpi_lite/structures.cc
@@ -11,6 +11,8 @@
 #include <zircon/compiler.h>
 #include <zircon/types.h>
 
+namespace acpi_lite {
+
 // Write the signature into the given buffer.
 //
 // Buffer must have a length of at least 5.
@@ -18,3 +20,5 @@
   memcpy(buffer, &value, sizeof(AcpiSignature));
   buffer[sizeof(AcpiSignature)] = 0;
 }
+
+}  // namespace acpi_lite
diff --git a/zircon/kernel/lib/acpi_tables/acpi_tables.cc b/zircon/kernel/lib/acpi_tables/acpi_tables.cc
index eefef7c..7044f08 100644
--- a/zircon/kernel/lib/acpi_tables/acpi_tables.cc
+++ b/zircon/kernel/lib/acpi_tables/acpi_tables.cc
@@ -9,6 +9,7 @@
 #include <assert.h>
 #include <err.h>
 #include <lib/acpi_lite.h>
+#include <lib/acpi_lite/structures.h>
 #include <trace.h>
 
 #include <ktl/optional.h>
@@ -17,8 +18,6 @@
 
 #define LOCAL_TRACE 0
 
-using acpi_lite::AcpiParser;
-
 namespace {
 
 // Read a POD struct of type "T" from memory at "data" with a given
@@ -82,7 +81,7 @@
 // We assume that the memory being pointed contains at least sizeof(T)
 // bytes. Return an error if the header isn't valid.
 template <typename T>
-inline zx_status_t ReadAcpiEntry(const AcpiSdtHeader* header, T* out,
+inline zx_status_t ReadAcpiEntry(const acpi_lite::AcpiSdtHeader* header, T* out,
                                  ktl::span<const uint8_t>* payload) {
   // Read the length. Use "memcpy" to avoid unaligned reads.
   uint32_t length;
@@ -113,8 +112,8 @@
 
 zx_status_t AcpiTables::cpu_count(uint32_t* cpu_count) const {
   uint32_t count = 0;
-  auto visitor = [&count](AcpiSubTableHeader* record) {
-    AcpiMadtLocalApicEntry* lapic = (AcpiMadtLocalApicEntry*)record;
+  auto visitor = [&count](acpi_lite::AcpiSubTableHeader* record) {
+    acpi_lite::AcpiMadtLocalApicEntry* lapic = (acpi_lite::AcpiMadtLocalApicEntry*)record;
     if (!(lapic->flags & ACPI_MADT_FLAG_ENABLED)) {
       LTRACEF("Skipping disabled processor %02x\n", lapic->apic_id);
       return ZX_OK;
@@ -136,8 +135,8 @@
 zx_status_t AcpiTables::cpu_apic_ids(uint32_t* apic_ids, uint32_t array_size,
                                      uint32_t* apic_id_count) const {
   uint32_t count = 0;
-  auto visitor = [apic_ids, array_size, &count](AcpiSubTableHeader* record) {
-    AcpiMadtLocalApicEntry* lapic = (AcpiMadtLocalApicEntry*)record;
+  auto visitor = [apic_ids, array_size, &count](acpi_lite::AcpiSubTableHeader* record) {
+    acpi_lite::AcpiMadtLocalApicEntry* lapic = (acpi_lite::AcpiMadtLocalApicEntry*)record;
     if (!(lapic->flags & ACPI_MADT_FLAG_ENABLED)) {
       LTRACEF("Skipping disabled processor %02x\n", lapic->apic_id);
       return ZX_OK;
@@ -166,8 +165,8 @@
 zx_status_t AcpiTables::io_apics(io_apic_descriptor* io_apics, uint32_t array_size,
                                  uint32_t* io_apics_count) const {
   uint32_t count = 0;
-  auto visitor = [io_apics, array_size, &count](AcpiSubTableHeader* record) {
-    AcpiMadtIoApicEntry* io_apic = (AcpiMadtIoApicEntry*)record;
+  auto visitor = [io_apics, array_size, &count](acpi_lite::AcpiSubTableHeader* record) {
+    acpi_lite::AcpiMadtIoApicEntry* io_apic = (acpi_lite::AcpiMadtIoApicEntry*)record;
     if (count >= array_size) {
       return ZX_ERR_INVALID_ARGS;
     }
@@ -194,12 +193,13 @@
                                                    uint32_t array_size,
                                                    uint32_t* overrides_count) const {
   uint32_t count = 0;
-  auto visitor = [overrides, array_size, &count](AcpiSubTableHeader* record) {
+  auto visitor = [overrides, array_size, &count](acpi_lite::AcpiSubTableHeader* record) {
     if (count >= array_size) {
       return ZX_ERR_INVALID_ARGS;
     }
 
-    AcpiMadtIntSourceOverrideEntry* iso = (AcpiMadtIntSourceOverrideEntry*)record;
+    acpi_lite::AcpiMadtIntSourceOverrideEntry* iso =
+        (acpi_lite::AcpiMadtIntSourceOverrideEntry*)record;
 
     ASSERT(iso->bus == 0);  // 0 means ISA, ISOs are only ever for ISA IRQs
     overrides[count].isa_irq = iso->source;
@@ -251,7 +251,7 @@
 
 zx_status_t AcpiTables::NumInMadt(uint8_t type, uint32_t* element_count) const {
   uint32_t count = 0;
-  auto visitor = [&count](AcpiSubTableHeader* record) {
+  auto visitor = [&count](acpi_lite::AcpiSubTableHeader* record) {
     count++;
     return ZX_OK;
   };
@@ -274,9 +274,9 @@
   }
 
   uintptr_t addr;
-  AcpiSubTableHeader* record_hdr;
+  acpi_lite::AcpiSubTableHeader* record_hdr;
   for (addr = records_start; addr < records_end; addr += record_hdr->length) {
-    record_hdr = (AcpiSubTableHeader*)addr;
+    record_hdr = (acpi_lite::AcpiSubTableHeader*)addr;
     if (record_hdr->type == type) {
       status = visitor(record_hdr);
       if (status != ZX_OK) {
@@ -293,12 +293,13 @@
 }
 
 zx_status_t AcpiTables::GetMadtRecordLimits(uintptr_t* start, uintptr_t* end) const {
-  const AcpiSdtHeader* table = GetTableBySignature(*tables_, AcpiMadtTable::kSignature);
+  const acpi_lite::AcpiSdtHeader* table =
+      GetTableBySignature(*tables_, acpi_lite::AcpiMadtTable::kSignature);
   if (table == nullptr) {
     TRACEF("could not find MADT\n");
     return ZX_ERR_NOT_FOUND;
   }
-  AcpiMadtTable* madt = (AcpiMadtTable*)table;
+  acpi_lite::AcpiMadtTable* madt = (acpi_lite::AcpiMadtTable*)table;
   uintptr_t records_start = ((uintptr_t)madt) + sizeof(*madt);
   uintptr_t records_end = ((uintptr_t)madt) + madt->header.length;
   if (records_start >= records_end) {
@@ -316,14 +317,15 @@
 }
 
 zx_status_t AcpiTables::hpet(acpi_hpet_descriptor* hpet) const {
-  const AcpiSdtHeader* table = GetTableBySignature(*tables_, AcpiHpetTable::kSignature);
+  const acpi_lite::AcpiSdtHeader* table =
+      GetTableBySignature(*tables_, acpi_lite::AcpiHpetTable::kSignature);
   if (table == nullptr) {
     TRACEF("could not find HPET\n");
     return ZX_ERR_NOT_FOUND;
   }
 
-  AcpiHpetTable* hpet_tbl = (AcpiHpetTable*)table;
-  if (hpet_tbl->header.length != sizeof(AcpiHpetTable)) {
+  acpi_lite::AcpiHpetTable* hpet_tbl = (acpi_lite::AcpiHpetTable*)table;
+  if (hpet_tbl->header.length != sizeof(acpi_lite::AcpiHpetTable)) {
     TRACEF("Unexpected HPET table length\n");
     return ZX_ERR_NOT_FOUND;
   }
@@ -347,14 +349,15 @@
 
 zx_status_t AcpiTables::debug_port(AcpiDebugPortDescriptor* desc) const {
   // Find the DBG2 table entry.
-  const AcpiSdtHeader* table = GetTableBySignature(*tables_, AcpiDbg2Table::kSignature);
+  const acpi_lite::AcpiSdtHeader* table =
+      GetTableBySignature(*tables_, acpi_lite::AcpiDbg2Table::kSignature);
   if (table == nullptr) {
     TRACEF("acpi: could not find debug port (v2) ACPI entry\n");
     return ZX_ERR_NOT_FOUND;
   }
 
   // Read the DBG2 header.
-  AcpiDbg2Table debug_table;
+  acpi_lite::AcpiDbg2Table debug_table;
   ktl::span<const uint8_t> payload;
   zx_status_t status = ReadAcpiEntry(table, &debug_table, &payload);
   if (status != ZX_OK) {
@@ -369,13 +372,14 @@
   }
 
   // Read the first device payload.
-  AcpiDbg2Device device;
+  acpi_lite::AcpiDbg2Device device;
   ktl::span<const uint8_t> device_payload;
-  status = ReadVariableLengthStruct<AcpiDbg2Device>(payload,
-                                                    /*length_field=*/&AcpiDbg2Device::length,
-                                                    /*out=*/&device,
-                                                    /*payload=*/&device_payload,
-                                                    /*offset=*/debug_table.offset);
+  status = ReadVariableLengthStruct<acpi_lite::AcpiDbg2Device>(
+      payload,
+      /*length_field=*/&acpi_lite::AcpiDbg2Device::length,
+      /*out=*/&device,
+      /*payload=*/&device_payload,
+      /*offset=*/debug_table.offset);
   if (status != ZX_OK) {
     TRACEF("acpi: Could not parse DBG2 device.\n");
     return status;
@@ -396,7 +400,7 @@
   }
 
   // Get base address and length.
-  AcpiGenericAddress address;
+  acpi_lite::AcpiGenericAddress address;
   status = ReadStruct(device_payload, &address, /*offset=*/device.base_address_offset);
   if (status != ZX_OK) {
     TRACEF("acpi: Failed to read DBG2 address registers.\n");
@@ -423,13 +427,14 @@
 
 zx_status_t AcpiTables::VisitCpuNumaPairs(
     fbl::Function<void(const AcpiNumaDomain&, uint32_t)> visitor) const {
-  const AcpiSdtHeader* table = GetTableBySignature(*tables_, AcpiSratTable::kSignature);
+  const acpi_lite::AcpiSdtHeader* table =
+      GetTableBySignature(*tables_, acpi_lite::AcpiSratTable::kSignature);
   if (table == nullptr) {
     printf("Could not find SRAT table.\n");
     return ZX_ERR_NOT_FOUND;
   }
 
-  AcpiSratTable* srat = (AcpiSratTable*)table;
+  acpi_lite::AcpiSratTable* srat = (acpi_lite::AcpiSratTable*)table;
 
   static constexpr size_t kSratHeaderSize = 48;
   static constexpr size_t kMaxNumaDomains = 10;
@@ -438,11 +443,13 @@
   // First find all numa domains.
   size_t offset = kSratHeaderSize;
   while (offset < srat->header.length) {
-    AcpiSubTableHeader* sub_header = (AcpiSubTableHeader*)((uint64_t)table + offset);
+    acpi_lite::AcpiSubTableHeader* sub_header =
+        (acpi_lite::AcpiSubTableHeader*)((uint64_t)table + offset);
     DEBUG_ASSERT(sub_header->length > 0);
     offset += sub_header->length;
     if (sub_header->type == ACPI_SRAT_TYPE_MEMORY_AFFINITY) {
-      const AcpiSratMemoryAffinityEntry* mem = (AcpiSratMemoryAffinityEntry*)sub_header;
+      const acpi_lite::AcpiSratMemoryAffinityEntry* mem =
+          (acpi_lite::AcpiSratMemoryAffinityEntry*)sub_header;
       if (!(mem->flags & ACPI_SRAT_FLAG_ENABLED)) {
         // Ignore disabled entries.
         continue;
@@ -463,11 +470,12 @@
   // Then visit all cpu apic ids and provide the accompanying numa region.
   offset = kSratHeaderSize;
   while (offset < srat->header.length) {
-    AcpiSubTableHeader* sub_header = (AcpiSubTableHeader*)((uint64_t)table + offset);
+    acpi_lite::AcpiSubTableHeader* sub_header =
+        (acpi_lite::AcpiSubTableHeader*)((uint64_t)table + offset);
     offset += sub_header->length;
     const auto type = sub_header->type;
     if (type == ACPI_SRAT_TYPE_PROCESSOR_AFFINITY) {
-      const auto* cpu = (AcpiSratProcessorAffinityEntry*)sub_header;
+      const auto* cpu = (acpi_lite::AcpiSratProcessorAffinityEntry*)sub_header;
       if (!(cpu->flags & ACPI_SRAT_FLAG_ENABLED)) {
         // Ignore disabled entries.
         continue;
@@ -482,7 +490,7 @@
       visitor(domains[domain], cpu->apic_id);
 
     } else if (type == ACPI_SRAT_TYPE_PROCESSOR_X2APIC_AFFINITY) {
-      const auto* cpu = (AcpiSratProcessorX2ApicAffinityEntry*)sub_header;
+      const auto* cpu = (acpi_lite::AcpiSratProcessorX2ApicAffinityEntry*)sub_header;
       if (!(cpu->flags & ACPI_SRAT_FLAG_ENABLED)) {
         // Ignore disabled entries.
         continue;
diff --git a/zircon/kernel/lib/acpi_tables/include/lib/acpi_tables_test_data.h b/zircon/kernel/lib/acpi_tables/include/lib/acpi_tables_test_data.h
index e2b88ad..7d9ea6e 100644
--- a/zircon/kernel/lib/acpi_tables/include/lib/acpi_tables_test_data.h
+++ b/zircon/kernel/lib/acpi_tables/include/lib/acpi_tables_test_data.h
@@ -13,11 +13,11 @@
 
 class FakeTableProvider : public acpi_lite::AcpiParserInterface {
  public:
-  explicit FakeTableProvider(fbl::Span<const AcpiSdtHeader*> tables) : tables_(tables) {}
+  explicit FakeTableProvider(fbl::Span<const acpi_lite::AcpiSdtHeader*> tables) : tables_(tables) {}
 
   size_t num_tables() const override { return tables_.size(); }
 
-  const AcpiSdtHeader* GetTableAtIndex(size_t index) const override {
+  const acpi_lite::AcpiSdtHeader* GetTableAtIndex(size_t index) const override {
     if (index >= tables_.size()) {
       return nullptr;
     }
@@ -25,7 +25,7 @@
   }
 
  private:
-  fbl::Span<const AcpiSdtHeader*> tables_;
+  fbl::Span<const acpi_lite::AcpiSdtHeader*> tables_;
 };
 
 // Dumped from pixelbook eve.
@@ -46,9 +46,9 @@
     0x0,  0xD0, 0xFE, 0x0,  0x0,  0x0,  0x0,  0x0,  0x0,  0x0,  0x0,  0x61, 0xCC, 0x68, 0x61,
 };
 
-inline const AcpiSdtHeader* kEveTables[]{
-    reinterpret_cast<const AcpiSdtHeader*>(kEveMadtTableData),
-    reinterpret_cast<const AcpiSdtHeader*>(kEveHpetTableData),
+inline const acpi_lite::AcpiSdtHeader* kEveTables[]{
+    reinterpret_cast<const acpi_lite::AcpiSdtHeader*>(kEveMadtTableData),
+    reinterpret_cast<const acpi_lite::AcpiSdtHeader*>(kEveHpetTableData),
 };
 
 // Dumped from HP z840 with dual Xeon E2690v4 processors.
@@ -509,9 +509,9 @@
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 };
 
-inline const AcpiSdtHeader* kZ840Tables[]{
-    reinterpret_cast<const AcpiSdtHeader*>(kZ840MadtTableData),
-    reinterpret_cast<const AcpiSdtHeader*>(kZ840SratTableData),
+inline const acpi_lite::AcpiSdtHeader* kZ840Tables[]{
+    reinterpret_cast<const acpi_lite::AcpiSdtHeader*>(kZ840MadtTableData),
+    reinterpret_cast<const acpi_lite::AcpiSdtHeader*>(kZ840SratTableData),
 };
 
 inline const uint8_t k2970wxMadtTableData[]{
@@ -654,9 +654,9 @@
     0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 };
 
-inline const AcpiSdtHeader* k2970wxTables[]{
-    reinterpret_cast<const AcpiSdtHeader*>(k2970wxMadtTableData),
-    reinterpret_cast<const AcpiSdtHeader*>(k2970wxSratTableData),
+inline const acpi_lite::AcpiSdtHeader* k2970wxTables[]{
+    reinterpret_cast<const acpi_lite::AcpiSdtHeader*>(k2970wxMadtTableData),
+    reinterpret_cast<const acpi_lite::AcpiSdtHeader*>(k2970wxSratTableData),
 };
 
 inline const uint8_t kDbg2TestData[]{
@@ -669,8 +669,8 @@
     0x53, 0x42, 0x2e, 0x50, 0x43, 0x49, 0x30, 0x2e, 0x55, 0x41, 0x52, 0x32, 0x00,
 };
 
-inline const AcpiSdtHeader* kDbg2Table[]{
-    reinterpret_cast<const AcpiSdtHeader*>(kDbg2TestData),
+inline const acpi_lite::AcpiSdtHeader* kDbg2Table[]{
+    reinterpret_cast<const acpi_lite::AcpiSdtHeader*>(kDbg2TestData),
 };
 
 inline const FakeTableProvider kZ840TableProvider(kZ840Tables);