summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source/common/ahpredef.c1
-rw-r--r--source/common/dmtbdump2.c47
-rw-r--r--source/common/dmtbinfo1.c2
-rw-r--r--source/common/dmtbinfo2.c85
-rw-r--r--source/compiler/aslrestype2.c6
-rw-r--r--source/compiler/dttable2.c37
-rw-r--r--source/compiler/dttemplate.h23
-rw-r--r--source/components/disassembler/dmresrcl.c2
-rw-r--r--source/components/events/evevent.c11
-rw-r--r--source/components/hardware/hwsleep.c11
-rw-r--r--source/components/resources/rsaddr.c2
-rw-r--r--source/components/resources/rscreate.c8
-rw-r--r--source/components/resources/rsdumpinfo.c8
-rw-r--r--source/components/resources/rsirq.c12
-rw-r--r--source/components/utilities/utglobal.c1
-rw-r--r--source/include/acdisasm.h7
-rw-r--r--source/include/acpredef.h3
-rw-r--r--source/include/acrestyp.h8
-rw-r--r--source/include/actbinfo.h9
-rw-r--r--source/include/actbl1.h2
-rw-r--r--source/include/actypes.h3
-rw-r--r--source/include/amlresrc.h2
-rw-r--r--source/include/platform/aczephyr.h3
23 files changed, 225 insertions, 68 deletions
diff --git a/source/common/ahpredef.c b/source/common/ahpredef.c
index f4080587f..a1f3a1252 100644
--- a/source/common/ahpredef.c
+++ b/source/common/ahpredef.c
@@ -234,6 +234,7 @@ const AH_PREDEFINED_NAME AslPredefinedInfo[] =
AH_PREDEF ("_DMA", "Direct Memory Access", "Returns device current resources for DMA transactions, and resource field"),
AH_PREDEF ("_DOD", "Display Output Devices", "Enumerate all devices attached to the display adapter"),
AH_PREDEF ("_DOS", "Disable Output Switching", "Sets the display output switching mode"),
+ AH_PREDEF ("_DSC", "Deepest State for Configuration", "Returns the deepest D-state of the device to the OSPM"),
AH_PREDEF ("_DPL", "Device Selection Polarity", "Polarity of Device Selection signal, Resource Descriptor field"),
AH_PREDEF ("_DRS", "Drive Strength", "Drive Strength setting for GPIO connection, Resource Descriptor field"),
AH_PREDEF ("_DSD", "Device-Specific Data", "Returns a list of device property information"),
diff --git a/source/common/dmtbdump2.c b/source/common/dmtbdump2.c
index e9c5dbfd6..7f1efb470 100644
--- a/source/common/dmtbdump2.c
+++ b/source/common/dmtbdump2.c
@@ -990,6 +990,41 @@ AcpiDmDumpMadt (
InfoTable = AcpiDmTableInfoMadt16;
break;
+ case ACPI_MADT_TYPE_CORE_PIC:
+
+ InfoTable = AcpiDmTableInfoMadt17;
+ break;
+
+ case ACPI_MADT_TYPE_LIO_PIC:
+
+ InfoTable = AcpiDmTableInfoMadt18;
+ break;
+
+ case ACPI_MADT_TYPE_HT_PIC:
+
+ InfoTable = AcpiDmTableInfoMadt19;
+ break;
+
+ case ACPI_MADT_TYPE_EIO_PIC:
+
+ InfoTable = AcpiDmTableInfoMadt20;
+ break;
+
+ case ACPI_MADT_TYPE_MSI_PIC:
+
+ InfoTable = AcpiDmTableInfoMadt21;
+ break;
+
+ case ACPI_MADT_TYPE_BIO_PIC:
+
+ InfoTable = AcpiDmTableInfoMadt22;
+ break;
+
+ case ACPI_MADT_TYPE_LPC_PIC:
+
+ InfoTable = AcpiDmTableInfoMadt23;
+ break;
+
default:
if ((Subtable->Type >= ACPI_MADT_TYPE_RESERVED) &&
@@ -1021,7 +1056,7 @@ AcpiDmDumpMadt (
/* Dump the OEM data */
Status = AcpiDmDumpTable (Length, Offset, ACPI_CAST_PTR (UINT8, Table) + Offset,
- Subtable->Length - sizeof (ACPI_SUBTABLE_HEADER), AcpiDmTableInfoMadt17);
+ Subtable->Length - sizeof (ACPI_SUBTABLE_HEADER), AcpiDmTableInfoMadt128);
if (ACPI_FAILURE (Status))
{
return;
@@ -1058,16 +1093,16 @@ NextSubtable:
Subtable = ACPI_ADD_PTR (ACPI_SUBTABLE_HEADER, Subtable,
Subtable->Length);
- DbgPrint (ASL_PARSE_OUTPUT, "//[5) Next Subtable %p, length %X]\n",
- Subtable, Subtable->Length);
- DbgPrint (ASL_PARSE_OUTPUT, "//[5B) Offset from table start: 0x%8.8X%8.8X (%p)]\n",
- ACPI_FORMAT_UINT64 (ACPI_CAST_PTR (char, Subtable) - ACPI_CAST_PTR (char, Table)), Subtable);
-
Offset = ACPI_CAST_PTR (char, Subtable) - ACPI_CAST_PTR (char, Table);
if (Offset >= Table->Length)
{
return;
}
+
+ DbgPrint (ASL_PARSE_OUTPUT, "//[5) Next Subtable %p, length %X]\n",
+ Subtable, Subtable->Length);
+ DbgPrint (ASL_PARSE_OUTPUT, "//[5B) Offset from table start: 0x%8.8X%8.8X (%p)]\n",
+ ACPI_FORMAT_UINT64 (ACPI_CAST_PTR (char, Subtable) - ACPI_CAST_PTR (char, Table)), Subtable);
}
}
diff --git a/source/common/dmtbinfo1.c b/source/common/dmtbinfo1.c
index e4632085d..11cf67151 100644
--- a/source/common/dmtbinfo1.c
+++ b/source/common/dmtbinfo1.c
@@ -947,7 +947,7 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoDmar4[] =
{
{ACPI_DMT_UINT24, ACPI_DMAR4_OFFSET (Reserved[0]), "Reserved", 0},
{ACPI_DMT_UINT8, ACPI_DMAR4_OFFSET (DeviceNumber), "Device Number", 0},
- {ACPI_DMT_STRING, ACPI_DMAR4_OFFSET (u.DeviceName[0]), "Device Name", 0},
+ {ACPI_DMT_STRING, ACPI_DMAR4_OFFSET (DeviceName[0]), "Device Name", 0},
ACPI_DMT_TERMINATOR
};
diff --git a/source/common/dmtbinfo2.c b/source/common/dmtbinfo2.c
index 214206add..1b672bbd9 100644
--- a/source/common/dmtbinfo2.c
+++ b/source/common/dmtbinfo2.c
@@ -678,8 +678,6 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoLpit0[] =
{ACPI_DMT_UINT64, ACPI_LPIT0_OFFSET (CounterFrequency), "Counter Frequency", 0},
ACPI_DMT_TERMINATOR
};
-
-
/*******************************************************************************
*
* MADT - Multiple APIC Description Table and subtables
@@ -926,12 +924,91 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoMadt16[] =
ACPI_DMT_TERMINATOR
};
-/* 17: OEM data structure */
+/* 17: core interrupt controller */
ACPI_DMTABLE_INFO AcpiDmTableInfoMadt17[] =
{
+ {ACPI_DMT_UINT8, ACPI_MADT17_OFFSET (Version), "Version", 0},
+ {ACPI_DMT_UINT32, ACPI_MADT17_OFFSET (ProcessorId), "ProcessorId", 0},
+ {ACPI_DMT_UINT32, ACPI_MADT17_OFFSET (CoreId), "CoreId", 0},
+ {ACPI_DMT_UINT32, ACPI_MADT17_OFFSET (Flags), "Flags", 0},
+ ACPI_DMT_TERMINATOR
+};
+
+/* 18: Legacy I/O interrupt controller */
+
+ACPI_DMTABLE_INFO AcpiDmTableInfoMadt18[] =
+{
+ {ACPI_DMT_UINT8, ACPI_MADT18_OFFSET (Version), "Version", 0},
+ {ACPI_DMT_UINT64, ACPI_MADT18_OFFSET (Address), "Address", 0},
+ {ACPI_DMT_UINT16, ACPI_MADT18_OFFSET (Size), "Size", 0},
+ {ACPI_DMT_UINT16, ACPI_MADT18_OFFSET (Cascade), "Cascade", 0},
+ {ACPI_DMT_UINT64, ACPI_MADT18_OFFSET (CascadeMap), "CascadeMap", 0},
+ ACPI_DMT_TERMINATOR
+};
+
+/* 19: HT interrupt controller */
+
+ACPI_DMTABLE_INFO AcpiDmTableInfoMadt19[] =
+{
+ {ACPI_DMT_UINT8, ACPI_MADT19_OFFSET (Version), "Version", 0},
+ {ACPI_DMT_UINT64, ACPI_MADT19_OFFSET (Address), "Address", 0},
+ {ACPI_DMT_UINT16, ACPI_MADT19_OFFSET (Size), "Size", 0},
+ {ACPI_DMT_UINT64, ACPI_MADT19_OFFSET (Cascade), "Cascade", 0},
+ ACPI_DMT_TERMINATOR
+};
+
+/* 20: Extend I/O interrupt controller */
+
+ACPI_DMTABLE_INFO AcpiDmTableInfoMadt20[] =
+{
+ {ACPI_DMT_UINT8, ACPI_MADT20_OFFSET (Version), "Version", 0},
+ {ACPI_DMT_UINT8, ACPI_MADT20_OFFSET (Cascade), "Cascade", 0},
+ {ACPI_DMT_UINT8, ACPI_MADT20_OFFSET (Node), "Node", 0},
+ {ACPI_DMT_UINT64, ACPI_MADT20_OFFSET (NodeMap), "NodeMap", 0},
+ ACPI_DMT_TERMINATOR
+};
+
+/* 21: MSI controller */
+
+ACPI_DMTABLE_INFO AcpiDmTableInfoMadt21[] =
+{
+ {ACPI_DMT_UINT8, ACPI_MADT21_OFFSET (Version), "Version", 0},
+ {ACPI_DMT_UINT64, ACPI_MADT21_OFFSET (MsgAddress), "MsgAddress", 0},
+ {ACPI_DMT_UINT32, ACPI_MADT21_OFFSET (Start), "Start", 0},
+ {ACPI_DMT_UINT32, ACPI_MADT21_OFFSET (Count), "Count", 0},
+ ACPI_DMT_TERMINATOR
+};
+
+/* 22: BIO interrupt controller */
+
+ACPI_DMTABLE_INFO AcpiDmTableInfoMadt22[] =
+{
+ {ACPI_DMT_UINT8, ACPI_MADT22_OFFSET (Version), "Version", 0},
+ {ACPI_DMT_UINT64, ACPI_MADT22_OFFSET (Address), "Address", 0},
+ {ACPI_DMT_UINT16, ACPI_MADT22_OFFSET (Size), "Size", 0},
+ {ACPI_DMT_UINT16, ACPI_MADT22_OFFSET (Id), "Id", 0},
+ {ACPI_DMT_UINT16, ACPI_MADT22_OFFSET (GsiBase), "GsiBase", 0},
+ ACPI_DMT_TERMINATOR
+};
+
+/* 23: LPC interrupt controller */
+
+ACPI_DMTABLE_INFO AcpiDmTableInfoMadt23[] =
+{
+ {ACPI_DMT_UINT8, ACPI_MADT23_OFFSET (Version), "Version", 0},
+ {ACPI_DMT_UINT64, ACPI_MADT23_OFFSET (Address), "Address", 0},
+ {ACPI_DMT_UINT16, ACPI_MADT23_OFFSET (Size), "Size", 0},
+ {ACPI_DMT_UINT8, ACPI_MADT23_OFFSET (Cascade), "Cascade", 0},
+ ACPI_DMT_TERMINATOR
+};
+
+/* 24: OEM data structure */
+
+ACPI_DMTABLE_INFO AcpiDmTableInfoMadt128[] =
+{
{ACPI_DMT_RAW_BUFFER, 0, "OEM Data", 0},
- ACPI_DMT_TERMINATOR
+ ACPI_DMT_TERMINATOR
};
/*******************************************************************************
diff --git a/source/compiler/aslrestype2.c b/source/compiler/aslrestype2.c
index bf6f77ed7..6a1c1cbed 100644
--- a/source/compiler/aslrestype2.c
+++ b/source/compiler/aslrestype2.c
@@ -337,7 +337,7 @@ RsDoInterruptDescriptor (
Descriptor->ExtendedIrq.InterruptCount = 0;
Rover = ACPI_CAST_PTR (AML_RESOURCE,
- (&(Descriptor->ExtendedIrq.u.Interrupts[0])));
+ (&(Descriptor->ExtendedIrq.Interrupts[0])));
/* Process all child initialization nodes */
@@ -466,7 +466,7 @@ RsDoInterruptDescriptor (
RsCreateDwordField (InitializerOp, ACPI_RESTAG_INTERRUPT,
CurrentByteOffset +
- ASL_RESDESC_OFFSET (ExtendedIrq.u.Interrupts[0]));
+ ASL_RESDESC_OFFSET (ExtendedIrq.Interrupts[0]));
}
}
@@ -494,7 +494,7 @@ RsDoInterruptDescriptor (
}
Rnode->BufferLength =
- (ASL_RESDESC_OFFSET (ExtendedIrq.u.Interrupts[0]) -
+ (ASL_RESDESC_OFFSET (ExtendedIrq.Interrupts[0]) -
ASL_RESDESC_OFFSET (ExtendedIrq.DescriptorType))
+ OptionIndex + StringLength;
return (Rnode);
diff --git a/source/compiler/dttable2.c b/source/compiler/dttable2.c
index 007b67476..a6882600f 100644
--- a/source/compiler/dttable2.c
+++ b/source/compiler/dttable2.c
@@ -371,11 +371,46 @@ DtCompileMadt (
InfoTable = AcpiDmTableInfoMadt16;
break;
+ case ACPI_MADT_TYPE_CORE_PIC:
+
+ InfoTable = AcpiDmTableInfoMadt17;
+ break;
+
+ case ACPI_MADT_TYPE_LIO_PIC:
+
+ InfoTable = AcpiDmTableInfoMadt18;
+ break;
+
+ case ACPI_MADT_TYPE_HT_PIC:
+
+ InfoTable = AcpiDmTableInfoMadt19;
+ break;
+
+ case ACPI_MADT_TYPE_EIO_PIC:
+
+ InfoTable = AcpiDmTableInfoMadt20;
+ break;
+
+ case ACPI_MADT_TYPE_MSI_PIC:
+
+ InfoTable = AcpiDmTableInfoMadt21;
+ break;
+
+ case ACPI_MADT_TYPE_BIO_PIC:
+
+ InfoTable = AcpiDmTableInfoMadt22;
+ break;
+
+ case ACPI_MADT_TYPE_LPC_PIC:
+
+ InfoTable = AcpiDmTableInfoMadt23;
+ break;
+
default:
if (MadtHeader->Type >= ACPI_MADT_TYPE_OEM_RESERVED)
{
- InfoTable = AcpiDmTableInfoMadt17;
+ InfoTable = AcpiDmTableInfoMadt128;
}
else
{
diff --git a/source/compiler/dttemplate.h b/source/compiler/dttemplate.h
index 755da4022..bbe81c01d 100644
--- a/source/compiler/dttemplate.h
+++ b/source/compiler/dttemplate.h
@@ -1128,11 +1128,11 @@ const unsigned char TemplateLpit[] =
const unsigned char TemplateMadt[] =
{
- 0x41,0x50,0x49,0x43,0x6A,0x01,0x00,0x00, /* 00000000 "APICj..." */
- 0x05,0x9D,0x49,0x4E,0x54,0x45,0x4C,0x20, /* 00000008 "..INTEL " */
+ 0x41,0x50,0x49,0x43,0xE4,0x01,0x00,0x00, /* 00000000 "APIC...." */
+ 0x05,0xD4,0x49,0x4E,0x54,0x45,0x4C,0x20, /* 00000008 "..INTEL " */
0x54,0x65,0x6D,0x70,0x6C,0x61,0x74,0x65, /* 00000010 "Template" */
0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
- 0x13,0x11,0x20,0x20,0x00,0x00,0x00,0x00, /* 00000020 ".. ...." */
+ 0x31,0x03,0x22,0x20,0x00,0x00,0x00,0x00, /* 00000020 "1." ...." */
0x01,0x00,0x00,0x00,0x00,0x08,0x00,0x00, /* 00000028 "........" */
0x01,0x00,0x00,0x00,0x01,0x0C,0x01,0x00, /* 00000030 "........" */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000038 "........" */
@@ -1173,7 +1173,22 @@ const unsigned char TemplateMadt[] =
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000150 "........" */
0x00,0x00,0x10,0x10,0x00,0x00,0x00,0x00, /* 00000158 "........" */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000160 "........" */
- 0x00,0x00 /* 00000168 ".." */
+ 0x00,0x00,0x11,0x0F,0x01,0x01,0x00,0x00, /* 00000168 "........" */
+ 0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00, /* 00000170 "........" */
+ 0x00,0x12,0x17,0x01,0x00,0x14,0xE0,0x1F, /* 00000178 "........" */
+ 0x00,0x00,0x00,0x00,0x80,0x00,0x02,0x03, /* 00000180 "........" */
+ 0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0xFF, /* 00000188 "........" */
+ 0x13,0x15,0x01,0x80,0x00,0x00,0xFB,0xFD, /* 00000190 "........" */
+ 0x0E,0x00,0x00,0x40,0x00,0x00,0x00,0x00, /* 00000198 "...@...." */
+ 0xFF,0x00,0x00,0x00,0x00,0x14,0x0D,0x01, /* 000001A0 "........" */
+ 0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000001A8 "........" */
+ 0x00,0x00,0x15,0x13,0x01,0x00,0x00,0xF0, /* 000001B0 "........" */
+ 0x2F,0x00,0x00,0x00,0x00,0x40,0x00,0x00, /* 000001B8 "/....@.." */
+ 0x00,0xC0,0x00,0x00,0x00,0x16,0x11,0x01, /* 000001C0 "........" */
+ 0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00, /* 000001C8 "........" */
+ 0x00,0x10,0x00,0x00,0x40,0x00,0x17,0x0E, /* 000001D0 "....@..." */
+ 0x01,0x00,0x20,0x00,0x10,0x00,0x00,0x00, /* 000001D8 ".. ....." */
+ 0x00,0x00,0x10,0x13 /* 000001E0 "...." */
};
const unsigned char TemplateMcfg[] =
diff --git a/source/components/disassembler/dmresrcl.c b/source/components/disassembler/dmresrcl.c
index 88d19036a..75cafe5da 100644
--- a/source/components/disassembler/dmresrcl.c
+++ b/source/components/disassembler/dmresrcl.c
@@ -1112,7 +1112,7 @@ AcpiDmInterruptDescriptor (
{
AcpiDmIndent (Level + 1);
AcpiOsPrintf ("0x%8.8X,\n",
- (UINT32) Resource->ExtendedIrq.u.Interrupts[i]);
+ (UINT32) Resource->ExtendedIrq.Interrupts[i]);
}
AcpiDmIndent (Level);
diff --git a/source/components/events/evevent.c b/source/components/events/evevent.c
index 913cbd143..b7f6692a8 100644
--- a/source/components/events/evevent.c
+++ b/source/components/events/evevent.c
@@ -312,8 +312,7 @@ AcpiEvFixedEventInitialize (
{
Status = AcpiWriteBitRegister (
AcpiGbl_FixedEventInfo[i].EnableRegisterId,
- (i == ACPI_EVENT_PCIE_WAKE) ?
- ACPI_ENABLE_EVENT : ACPI_DISABLE_EVENT);
+ ACPI_DISABLE_EVENT);
if (ACPI_FAILURE (Status))
{
return (Status);
@@ -362,11 +361,6 @@ AcpiEvFixedEventDetect (
return (IntStatus);
}
- if (FixedEnable & ACPI_BITMASK_PCIEXP_WAKE_DISABLE)
- FixedEnable &= ~ACPI_BITMASK_PCIEXP_WAKE_DISABLE;
- else
- FixedEnable |= ACPI_BITMASK_PCIEXP_WAKE_DISABLE;
-
ACPI_DEBUG_PRINT ((ACPI_DB_INTERRUPTS,
"Fixed Event Block: Enable %08X Status %08X\n",
FixedEnable, FixedStatus));
@@ -437,8 +431,7 @@ AcpiEvFixedEventDispatch (
{
(void) AcpiWriteBitRegister (
AcpiGbl_FixedEventInfo[Event].EnableRegisterId,
- (Event == ACPI_EVENT_PCIE_WAKE) ?
- ACPI_ENABLE_EVENT : ACPI_DISABLE_EVENT);
+ ACPI_DISABLE_EVENT);
ACPI_ERROR ((AE_INFO,
"No installed handler for fixed event - %s (%u), disabling",
diff --git a/source/components/hardware/hwsleep.c b/source/components/hardware/hwsleep.c
index d9bb8ae03..0e4e17a0c 100644
--- a/source/components/hardware/hwsleep.c
+++ b/source/components/hardware/hwsleep.c
@@ -475,17 +475,6 @@ AcpiHwLegacyWake (
AcpiGbl_FixedEventInfo[ACPI_EVENT_SLEEP_BUTTON].StatusRegisterId,
ACPI_CLEAR_STATUS);
- /* Enable pcie wake event if support */
- if ((AcpiGbl_FADT.Flags & ACPI_FADT_PCI_EXPRESS_WAKE))
- {
- (void) AcpiWriteBitRegister (
- AcpiGbl_FixedEventInfo[ACPI_EVENT_PCIE_WAKE].EnableRegisterId,
- ACPI_DISABLE_EVENT);
- (void) AcpiWriteBitRegister (
- AcpiGbl_FixedEventInfo[ACPI_EVENT_PCIE_WAKE].StatusRegisterId,
- ACPI_CLEAR_STATUS);
- }
-
AcpiHwExecuteSleepMethod (METHOD_PATHNAME__SST, ACPI_SST_WORKING);
return_ACPI_STATUS (Status);
}
diff --git a/source/components/resources/rsaddr.c b/source/components/resources/rsaddr.c
index beee83803..8bad02ddc 100644
--- a/source/components/resources/rsaddr.c
+++ b/source/components/resources/rsaddr.c
@@ -431,11 +431,11 @@ AcpiRsGetAddressCommon (
ACPI_RESOURCE *Resource,
AML_RESOURCE *Aml)
{
+
/* Avoid undefined behavior: member access within misaligned address */
AML_RESOURCE_ADDRESS Address;
memcpy(&Address, Aml, sizeof(Address));
-
ACPI_FUNCTION_ENTRY();
/* Validate the Resource Type */
diff --git a/source/components/resources/rscreate.c b/source/components/resources/rscreate.c
index 583abe1a7..da0967ee8 100644
--- a/source/components/resources/rscreate.c
+++ b/source/components/resources/rscreate.c
@@ -475,9 +475,9 @@ AcpiRsCreatePciRoutingTable (
/* Use *remaining* length of the buffer as max for pathname */
PathBuffer.Length = OutputBuffer->Length -
- (UINT32) ((UINT8 *) UserPrt->u.Source -
+ (UINT32) ((UINT8 *) UserPrt->Source -
(UINT8 *) OutputBuffer->Pointer);
- PathBuffer.Pointer = UserPrt->u.Source;
+ PathBuffer.Pointer = UserPrt->Source;
Status = AcpiNsHandleToPathname (
(ACPI_HANDLE) Node, &PathBuffer, FALSE);
@@ -488,12 +488,12 @@ AcpiRsCreatePciRoutingTable (
/* +1 to include null terminator */
- UserPrt->Length += (UINT32) strlen (UserPrt->u.Source) + 1;
+ UserPrt->Length += (UINT32) strlen (UserPrt->Source) + 1;
break;
case ACPI_TYPE_STRING:
- strcpy (UserPrt->u.Source, ObjDesc->String.Pointer);
+ strcpy (UserPrt->Source, ObjDesc->String.Pointer);
/*
* Add to the Length field the length of the string
diff --git a/source/components/resources/rsdumpinfo.c b/source/components/resources/rsdumpinfo.c
index 2801e0d77..f15b7b981 100644
--- a/source/components/resources/rsdumpinfo.c
+++ b/source/components/resources/rsdumpinfo.c
@@ -182,7 +182,7 @@ ACPI_RSDUMP_INFO AcpiRsDumpIrq[7] =
{ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Irq.Polarity), "Polarity", AcpiGbl_LlDecode},
{ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (Irq.Shareable), "Sharing", AcpiGbl_ShrDecode},
{ACPI_RSD_UINT8 , ACPI_RSD_OFFSET (Irq.InterruptCount), "Interrupt Count", NULL},
- {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Irq.u.Interrupts[0]), "Interrupt List", NULL}
+ {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Irq.Interrupts[0]), "Interrupt List", NULL}
};
ACPI_RSDUMP_INFO AcpiRsDumpDma[6] =
@@ -192,7 +192,7 @@ ACPI_RSDUMP_INFO AcpiRsDumpDma[6] =
{ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Dma.BusMaster), "Mastering", AcpiGbl_BmDecode},
{ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (Dma.Transfer), "Transfer Type", AcpiGbl_SizDecode},
{ACPI_RSD_UINT8, ACPI_RSD_OFFSET (Dma.ChannelCount), "Channel Count", NULL},
- {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Dma.u.Channels[0]), "Channel List", NULL}
+ {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Dma.Channels[0]), "Channel List", NULL}
};
ACPI_RSDUMP_INFO AcpiRsDumpStartDpf[4] =
@@ -327,7 +327,7 @@ ACPI_RSDUMP_INFO AcpiRsDumpExtIrq[8] =
{ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (ExtendedIrq.Shareable), "Sharing", AcpiGbl_ShrDecode},
{ACPI_RSD_SOURCE, ACPI_RSD_OFFSET (ExtendedIrq.ResourceSource), NULL, NULL},
{ACPI_RSD_UINT8, ACPI_RSD_OFFSET (ExtendedIrq.InterruptCount), "Interrupt Count", NULL},
- {ACPI_RSD_DWORDLIST,ACPI_RSD_OFFSET (ExtendedIrq.u.Interrupts[0]), "Interrupt List", NULL}
+ {ACPI_RSD_DWORDLIST,ACPI_RSD_OFFSET (ExtendedIrq.Interrupts[0]), "Interrupt List", NULL}
};
ACPI_RSDUMP_INFO AcpiRsDumpGenericReg[6] =
@@ -555,7 +555,7 @@ ACPI_RSDUMP_INFO AcpiRsDumpPrt[5] =
{ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpPrt), NULL, NULL},
{ACPI_RSD_UINT64, ACPI_PRT_OFFSET (Address), "Address", NULL},
{ACPI_RSD_UINT32, ACPI_PRT_OFFSET (Pin), "Pin", NULL},
- {ACPI_RSD_STRING, ACPI_PRT_OFFSET (u.Source[0]), "Source", NULL},
+ {ACPI_RSD_STRING, ACPI_PRT_OFFSET (Source[0]), "Source", NULL},
{ACPI_RSD_UINT32, ACPI_PRT_OFFSET (SourceIndex), "Source Index", NULL}
};
diff --git a/source/components/resources/rsirq.c b/source/components/resources/rsirq.c
index 10256c50b..c2d306aa2 100644
--- a/source/components/resources/rsirq.c
+++ b/source/components/resources/rsirq.c
@@ -171,7 +171,7 @@ ACPI_RSCONVERT_INFO AcpiRsGetIrq[9] =
/* Get the IRQ mask (bytes 1:2) */
- {ACPI_RSC_BITMASK16,ACPI_RS_OFFSET (Data.Irq.u.Interrupts[0]),
+ {ACPI_RSC_BITMASK16,ACPI_RS_OFFSET (Data.Irq.Interrupts[0]),
AML_OFFSET (Irq.IrqMask),
ACPI_RS_OFFSET (Data.Irq.InterruptCount)},
@@ -227,7 +227,7 @@ ACPI_RSCONVERT_INFO AcpiRsSetIrq[14] =
/* Convert interrupt list to 16-bit IRQ bitmask */
- {ACPI_RSC_BITMASK16,ACPI_RS_OFFSET (Data.Irq.u.Interrupts[0]),
+ {ACPI_RSC_BITMASK16,ACPI_RS_OFFSET (Data.Irq.Interrupts[0]),
AML_OFFSET (Irq.IrqMask),
ACPI_RS_OFFSET (Data.Irq.InterruptCount)},
@@ -345,14 +345,14 @@ ACPI_RSCONVERT_INFO AcpiRsConvertExtIrq[10] =
/* Copy every IRQ in the table, each is 32 bits */
- {ACPI_RSC_MOVE32, ACPI_RS_OFFSET (Data.ExtendedIrq.u.Interrupts[0]),
- AML_OFFSET (ExtendedIrq.u.Interrupts[0]),
+ {ACPI_RSC_MOVE32, ACPI_RS_OFFSET (Data.ExtendedIrq.Interrupts[0]),
+ AML_OFFSET (ExtendedIrq.Interrupts[0]),
0},
/* Optional ResourceSource (Index and String) */
{ACPI_RSC_SOURCEX, ACPI_RS_OFFSET (Data.ExtendedIrq.ResourceSource),
- ACPI_RS_OFFSET (Data.ExtendedIrq.u.Interrupts[0]),
+ ACPI_RS_OFFSET (Data.ExtendedIrq.Interrupts[0]),
sizeof (AML_RESOURCE_EXTENDED_IRQ)}
};
@@ -389,7 +389,7 @@ ACPI_RSCONVERT_INFO AcpiRsConvertDma[6] =
/* DMA channel mask bits */
- {ACPI_RSC_BITMASK, ACPI_RS_OFFSET (Data.Dma.u.Channels[0]),
+ {ACPI_RSC_BITMASK, ACPI_RS_OFFSET (Data.Dma.Channels[0]),
AML_OFFSET (Dma.DmaChannelMask),
ACPI_RS_OFFSET (Data.Dma.ChannelCount)}
};
diff --git a/source/components/utilities/utglobal.c b/source/components/utilities/utglobal.c
index 28e4c341d..c3b3688b0 100644
--- a/source/components/utilities/utglobal.c
+++ b/source/components/utilities/utglobal.c
@@ -287,7 +287,6 @@ ACPI_FIXED_EVENT_INFO AcpiGbl_FixedEventInfo[ACPI_NUM_FIXED_EVENTS] =
/* ACPI_EVENT_POWER_BUTTON */ {ACPI_BITREG_POWER_BUTTON_STATUS, ACPI_BITREG_POWER_BUTTON_ENABLE, ACPI_BITMASK_POWER_BUTTON_STATUS, ACPI_BITMASK_POWER_BUTTON_ENABLE},
/* ACPI_EVENT_SLEEP_BUTTON */ {ACPI_BITREG_SLEEP_BUTTON_STATUS, ACPI_BITREG_SLEEP_BUTTON_ENABLE, ACPI_BITMASK_SLEEP_BUTTON_STATUS, ACPI_BITMASK_SLEEP_BUTTON_ENABLE},
/* ACPI_EVENT_RTC */ {ACPI_BITREG_RT_CLOCK_STATUS, ACPI_BITREG_RT_CLOCK_ENABLE, ACPI_BITMASK_RT_CLOCK_STATUS, ACPI_BITMASK_RT_CLOCK_ENABLE},
- /* ACPI_EVENT_PCIE_WAKE */ {ACPI_BITREG_PCIEXP_WAKE_STATUS, ACPI_BITREG_PCIEXP_WAKE_DISABLE, ACPI_BITMASK_PCIEXP_WAKE_STATUS, ACPI_BITMASK_PCIEXP_WAKE_DISABLE},
};
#endif /* !ACPI_REDUCED_HARDWARE */
diff --git a/source/include/acdisasm.h b/source/include/acdisasm.h
index afc9034b8..898317f66 100644
--- a/source/include/acdisasm.h
+++ b/source/include/acdisasm.h
@@ -554,6 +554,13 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt14[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt15[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt16[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt17[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt18[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt19[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt20[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt21[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt22[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt23[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt128[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[];
diff --git a/source/include/acpredef.h b/source/include/acpredef.h
index ca47e7cc0..303dfaec9 100644
--- a/source/include/acpredef.h
+++ b/source/include/acpredef.h
@@ -579,6 +579,9 @@ const ACPI_PREDEFINED_INFO AcpiGbl_PredefinedMethods[] =
{{"_DOS", METHOD_1ARGS (ACPI_TYPE_INTEGER),
METHOD_NO_RETURN_VALUE}},
+
+ { {"_DSC", METHOD_0ARGS,
+ METHOD_RETURNS (ACPI_RTYPE_INTEGER)}},
{{"_DSD", METHOD_0ARGS, /* ACPI 6.0 */
METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each: 1 Buf, 1 Pkg */
diff --git a/source/include/acrestyp.h b/source/include/acrestyp.h
index 3065bdcee..0dab6ec7b 100644
--- a/source/include/acrestyp.h
+++ b/source/include/acrestyp.h
@@ -293,7 +293,7 @@ typedef struct acpi_resource_irq
union {
UINT8 Interrupt;
ACPI_FLEX_ARRAY(UINT8, Interrupts);
- } u;
+ };
} ACPI_RESOURCE_IRQ;
@@ -306,7 +306,7 @@ typedef struct acpi_resource_dma
union {
UINT8 Channel;
ACPI_FLEX_ARRAY(UINT8, Channels);
- } u;
+ };
} ACPI_RESOURCE_DMA;
@@ -547,7 +547,7 @@ typedef struct acpi_resource_extended_irq
union {
UINT32 Interrupt;
ACPI_FLEX_ARRAY(UINT32, Interrupts);
- } u;
+ };
} ACPI_RESOURCE_EXTENDED_IRQ;
@@ -951,7 +951,7 @@ typedef struct acpi_pci_routing_table
union {
char Pad[4]; /* pad to 64 bits so sizeof() works in all cases */
ACPI_FLEX_ARRAY(char, Source);
- } u;
+ };
} ACPI_PCI_ROUTING_TABLE;
#endif /* __ACRESTYP_H__ */
diff --git a/source/include/actbinfo.h b/source/include/actbinfo.h
index 5417aff4a..d24b92ed4 100644
--- a/source/include/actbinfo.h
+++ b/source/include/actbinfo.h
@@ -334,7 +334,14 @@
#define ACPI_MADT14_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_GENERIC_REDISTRIBUTOR,f)
#define ACPI_MADT15_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_GENERIC_TRANSLATOR,f)
#define ACPI_MADT16_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_MULTIPROC_WAKEUP,f)
-#define ACPI_MADT17_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_OEM_DATA,f)
+#define ACPI_MADT17_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_CORE_PIC,f)
+#define ACPI_MADT18_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_LIO_PIC,f)
+#define ACPI_MADT19_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_HT_PIC,f)
+#define ACPI_MADT20_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_EIO_PIC,f)
+#define ACPI_MADT21_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_MSI_PIC,f)
+#define ACPI_MADT22_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_BIO_PIC,f)
+#define ACPI_MADT23_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_LPC_PIC,f)
+#define ACPI_MADT128_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_OEM_DATA,f)
#define ACPI_MADTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SUBTABLE_HEADER,f)
#define ACPI_MCFG0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MCFG_ALLOCATION,f)
#define ACPI_MPAM0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_MSC_NODE,f)
diff --git a/source/include/actbl1.h b/source/include/actbl1.h
index 1b115ae35..cecd7edbe 100644
--- a/source/include/actbl1.h
+++ b/source/include/actbl1.h
@@ -1222,7 +1222,7 @@ typedef struct acpi_dmar_andd
union {
char __pad;
ACPI_FLEX_ARRAY(char, DeviceName);
- } u;
+ };
} ACPI_DMAR_ANDD;
diff --git a/source/include/actypes.h b/source/include/actypes.h
index c0f0a87f4..933820521 100644
--- a/source/include/actypes.h
+++ b/source/include/actypes.h
@@ -873,8 +873,7 @@ typedef UINT32 ACPI_EVENT_TYPE;
#define ACPI_EVENT_POWER_BUTTON 2
#define ACPI_EVENT_SLEEP_BUTTON 3
#define ACPI_EVENT_RTC 4
-#define ACPI_EVENT_PCIE_WAKE 5
-#define ACPI_EVENT_MAX 5
+#define ACPI_EVENT_MAX 4
#define ACPI_NUM_FIXED_EVENTS ACPI_EVENT_MAX + 1
/*
diff --git a/source/include/amlresrc.h b/source/include/amlresrc.h
index a8e288add..05fa1505d 100644
--- a/source/include/amlresrc.h
+++ b/source/include/amlresrc.h
@@ -506,7 +506,7 @@ typedef struct aml_resource_extended_irq
union {
UINT32 Interrupt;
ACPI_FLEX_ARRAY(UINT32, Interrupts);
- } u;
+ };
/* ResSourceIndex, ResSource optional fields follow */
} AML_RESOURCE_EXTENDED_IRQ;
diff --git a/source/include/platform/aczephyr.h b/source/include/platform/aczephyr.h
index c1d411c35..0b8971130 100644
--- a/source/include/platform/aczephyr.h
+++ b/source/include/platform/aczephyr.h
@@ -152,9 +152,6 @@
#ifndef __ACZEPHYR_H__
#define __ACZEPHYR_H__
-#define SEEK_SET FS_SEEK_SET
-#define SEEK_END FS_SEEK_END
-
#define ACPI_MACHINE_WIDTH 64
#define ACPI_NO_ERROR_MESSAGES