summaryrefslogtreecommitdiff
path: root/source/include
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2016-08-31 21:40:51 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2016-08-31 21:40:51 +0000
commitbe99e84498e91a5930864ef7b92b1a7ceb815e44 (patch)
tree7f5a2883a75b1713bdfe7d36ffa6217bac9187e2 /source/include
parent8bc6ab62dbdb3e8b0d2253e0440f6f58ac9afd3d (diff)
Import ACPICA 20160831.vendor/acpica/20160831
Notes
svn path=/vendor-sys/acpica/dist/; revision=305162 svn path=/vendor-sys/acpica/20160831/; revision=305163; tag=vendor/acpica/20160831
Diffstat (limited to 'source/include')
-rw-r--r--source/include/acdebug.h4
-rw-r--r--source/include/acevents.h5
-rw-r--r--source/include/aclocal.h12
-rw-r--r--source/include/acnamesp.h12
-rw-r--r--source/include/acparser.h4
-rw-r--r--source/include/acpixf.h16
-rw-r--r--source/include/actables.h19
-rw-r--r--source/include/actypes.h57
-rw-r--r--source/include/acutils.h19
-rw-r--r--source/include/platform/acefi.h6
-rw-r--r--source/include/platform/acefiex.h65
11 files changed, 169 insertions, 50 deletions
diff --git a/source/include/acdebug.h b/source/include/acdebug.h
index 8f3f47175b13..6dfa8a22ced6 100644
--- a/source/include/acdebug.h
+++ b/source/include/acdebug.h
@@ -233,8 +233,8 @@ AcpiDbDisassembleAml (
ACPI_PARSE_OBJECT *Op);
void
-AcpiDbBatchExecute (
- char *CountArg);
+AcpiDbEvaluatePredefinedNames (
+ void);
/*
diff --git a/source/include/acevents.h b/source/include/acevents.h
index a14dbe57c1b2..14f2b7925b8e 100644
--- a/source/include/acevents.h
+++ b/source/include/acevents.h
@@ -116,6 +116,11 @@ AcpiEvEnableGpe (
ACPI_GPE_EVENT_INFO *GpeEventInfo);
ACPI_STATUS
+AcpiEvMaskGpe (
+ ACPI_GPE_EVENT_INFO *GpeEventInfo,
+ BOOLEAN IsMasked);
+
+ACPI_STATUS
AcpiEvAddGpeReference (
ACPI_GPE_EVENT_INFO *GpeEventInfo);
diff --git a/source/include/aclocal.h b/source/include/aclocal.h
index e7a0d37d1447..9820a89a92f0 100644
--- a/source/include/aclocal.h
+++ b/source/include/aclocal.h
@@ -550,11 +550,12 @@ typedef union acpi_gpe_dispatch_info
*/
typedef struct acpi_gpe_event_info
{
- union acpi_gpe_dispatch_info Dispatch; /* Either Method, Handler, or NotifyList */
- struct acpi_gpe_register_info *RegisterInfo; /* Backpointer to register info */
- UINT8 Flags; /* Misc info about this GPE */
- UINT8 GpeNumber; /* This GPE */
- UINT8 RuntimeCount; /* References to a run GPE */
+ union acpi_gpe_dispatch_info Dispatch; /* Either Method, Handler, or NotifyList */
+ struct acpi_gpe_register_info *RegisterInfo; /* Backpointer to register info */
+ UINT8 Flags; /* Misc info about this GPE */
+ UINT8 GpeNumber; /* This GPE */
+ UINT8 RuntimeCount; /* References to a run GPE */
+ BOOLEAN DisableForDispatch; /* Masked during dispatching */
} ACPI_GPE_EVENT_INFO;
@@ -567,6 +568,7 @@ typedef struct acpi_gpe_register_info
UINT16 BaseGpeNumber; /* Base GPE number for this register */
UINT8 EnableForWake; /* GPEs to keep enabled when sleeping */
UINT8 EnableForRun; /* GPEs to keep enabled when running */
+ UINT8 MaskForRun; /* GPEs to keep masked when running */
UINT8 EnableMask; /* Current mask of enabled GPEs */
} ACPI_GPE_REGISTER_INFO;
diff --git a/source/include/acnamesp.h b/source/include/acnamesp.h
index 11ee70d044ed..440ff5b940eb 100644
--- a/source/include/acnamesp.h
+++ b/source/include/acnamesp.h
@@ -144,6 +144,11 @@ AcpiNsParseTable (
ACPI_NAMESPACE_NODE *StartNode);
ACPI_STATUS
+AcpiNsExecuteTable (
+ UINT32 TableIndex,
+ ACPI_NAMESPACE_NODE *StartNode);
+
+ACPI_STATUS
AcpiNsOneCompleteParse (
UINT32 PassNumber,
UINT32 TableIndex,
@@ -391,6 +396,13 @@ AcpiNsPatternMatch (
char *SearchFor);
ACPI_STATUS
+AcpiNsGetNodeUnlocked (
+ ACPI_NAMESPACE_NODE *PrefixNode,
+ const char *ExternalPathname,
+ UINT32 Flags,
+ ACPI_NAMESPACE_NODE **OutNode);
+
+ACPI_STATUS
AcpiNsGetNode (
ACPI_NAMESPACE_NODE *PrefixNode,
const char *ExternalPathname,
diff --git a/source/include/acparser.h b/source/include/acparser.h
index dd2782199d00..4137981024f7 100644
--- a/source/include/acparser.h
+++ b/source/include/acparser.h
@@ -83,6 +83,10 @@ ACPI_STATUS
AcpiPsExecuteMethod (
ACPI_EVALUATE_INFO *Info);
+ACPI_STATUS
+AcpiPsExecuteTable (
+ ACPI_EVALUATE_INFO *Info);
+
/*
* psargs - Parse AML opcode arguments
diff --git a/source/include/acpixf.h b/source/include/acpixf.h
index 33f000fee2fd..17bab19baad4 100644
--- a/source/include/acpixf.h
+++ b/source/include/acpixf.h
@@ -46,7 +46,7 @@
/* Current ACPICA subsystem version in YYYYMMDD format */
-#define ACPI_CA_VERSION 0x20160729
+#define ACPI_CA_VERSION 0x20160831
#include "acconfig.h"
#include "actypes.h"
@@ -197,6 +197,13 @@ ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DoNotUseXsdt, FALSE);
ACPI_INIT_GLOBAL (UINT8, AcpiGbl_GroupModuleLevelCode, FALSE);
/*
+ * Optionally support module level code by parsing the entire table as
+ * a TermList. Default is FALSE, do not execute entire table until some
+ * lock order issues are fixed.
+ */
+ACPI_INIT_GLOBAL (UINT8, AcpiGbl_ParseTableAsTermList, FALSE);
+
+/*
* Optionally use 32-bit FADT addresses if and when there is a conflict
* (address mismatch) between the 32-bit and 64-bit versions of the
* address. Although ACPICA adheres to the ACPI specification which
@@ -909,6 +916,13 @@ AcpiFinishGpe (
ACPI_HW_DEPENDENT_RETURN_STATUS (
ACPI_STATUS
+AcpiMaskGpe (
+ ACPI_HANDLE GpeDevice,
+ UINT32 GpeNumber,
+ BOOLEAN IsMasked))
+
+ACPI_HW_DEPENDENT_RETURN_STATUS (
+ACPI_STATUS
AcpiMarkGpeForWake (
ACPI_HANDLE GpeDevice,
UINT32 GpeNumber))
diff --git a/source/include/actables.h b/source/include/actables.h
index 6abb14cc3ff4..3325f19e2d1d 100644
--- a/source/include/actables.h
+++ b/source/include/actables.h
@@ -178,6 +178,19 @@ void
AcpiTbUninstallTable (
ACPI_TABLE_DESC *TableDesc);
+ACPI_STATUS
+AcpiTbLoadTable (
+ UINT32 TableIndex,
+ ACPI_NAMESPACE_NODE *ParentNode);
+
+ACPI_STATUS
+AcpiTbInstallAndLoadTable (
+ ACPI_TABLE_HEADER *Table,
+ ACPI_PHYSICAL_ADDRESS Address,
+ UINT8 Flags,
+ BOOLEAN Override,
+ UINT32 *TableIndex);
+
void
AcpiTbTerminate (
void);
@@ -237,12 +250,6 @@ AcpiTbInstallTableWithOverride (
UINT32 *TableIndex);
ACPI_STATUS
-AcpiTbInstallFixedTable (
- ACPI_PHYSICAL_ADDRESS Address,
- char *Signature,
- UINT32 *TableIndex);
-
-ACPI_STATUS ACPI_INIT_FUNCTION
AcpiTbParseRootTable (
ACPI_PHYSICAL_ADDRESS RsdpAddress);
diff --git a/source/include/actypes.h b/source/include/actypes.h
index 3861f12d5ba0..0d2ab4cc8ad4 100644
--- a/source/include/actypes.h
+++ b/source/include/actypes.h
@@ -745,16 +745,17 @@ typedef UINT32 ACPI_EVENT_TYPE;
* The encoding of ACPI_EVENT_STATUS is illustrated below.
* Note that a set bit (1) indicates the property is TRUE
* (e.g. if bit 0 is set then the event is enabled).
- * +-------------+-+-+-+-+-+
- * | Bits 31:5 |4|3|2|1|0|
- * +-------------+-+-+-+-+-+
- * | | | | | |
- * | | | | | +- Enabled?
- * | | | | +--- Enabled for wake?
- * | | | +----- Status bit set?
- * | | +------- Enable bit set?
- * | +--------- Has a handler?
- * +--------------- <Reserved>
+ * +-------------+-+-+-+-+-+-+
+ * | Bits 31:6 |5|4|3|2|1|0|
+ * +-------------+-+-+-+-+-+-+
+ * | | | | | | |
+ * | | | | | | +- Enabled?
+ * | | | | | +--- Enabled for wake?
+ * | | | | +----- Status bit set?
+ * | | | +------- Enable bit set?
+ * | | +--------- Has a handler?
+ * | +----------- Masked?
+ * +----------------- <Reserved>
*/
typedef UINT32 ACPI_EVENT_STATUS;
@@ -764,6 +765,7 @@ typedef UINT32 ACPI_EVENT_STATUS;
#define ACPI_EVENT_FLAG_STATUS_SET (ACPI_EVENT_STATUS) 0x04
#define ACPI_EVENT_FLAG_ENABLE_SET (ACPI_EVENT_STATUS) 0x08
#define ACPI_EVENT_FLAG_HAS_HANDLER (ACPI_EVENT_STATUS) 0x10
+#define ACPI_EVENT_FLAG_MASKED (ACPI_EVENT_STATUS) 0x20
#define ACPI_EVENT_FLAG_SET ACPI_EVENT_FLAG_STATUS_SET
/* Actions for AcpiSetGpe, AcpiGpeWakeup, AcpiHwLowSetGpe */
@@ -774,14 +776,15 @@ typedef UINT32 ACPI_EVENT_STATUS;
/*
* GPE info flags - Per GPE
- * +-------+-+-+---+
- * | 7:5 |4|3|2:0|
- * +-------+-+-+---+
- * | | | |
- * | | | +-- Type of dispatch:to method, handler, notify, or none
- * | | +----- Interrupt type: edge or level triggered
- * | +------- Is a Wake GPE
- * +------------ <Reserved>
+ * +---+-+-+-+---+
+ * |7:6|5|4|3|2:0|
+ * +---+-+-+-+---+
+ * | | | | |
+ * | | | | +-- Type of dispatch:to method, handler, notify, or none
+ * | | | +----- Interrupt type: edge or level triggered
+ * | | +------- Is a Wake GPE
+ * | +--------- Is GPE masked by the software GPE masking machanism
+ * +------------ <Reserved>
*/
#define ACPI_GPE_DISPATCH_NONE (UINT8) 0x00
#define ACPI_GPE_DISPATCH_METHOD (UINT8) 0x01
@@ -1079,13 +1082,6 @@ typedef struct acpi_statistics
} ACPI_STATISTICS;
-/* Table Event Types */
-
-#define ACPI_TABLE_EVENT_LOAD 0x0
-#define ACPI_TABLE_EVENT_UNLOAD 0x1
-#define ACPI_NUM_TABLE_EVENTS 2
-
-
/*
* Types specific to the OS service interfaces
*/
@@ -1158,9 +1154,14 @@ ACPI_STATUS (*ACPI_TABLE_HANDLER) (
void *Table,
void *Context);
-#define ACPI_TABLE_LOAD 0x0
-#define ACPI_TABLE_UNLOAD 0x1
-#define ACPI_NUM_TABLE_EVENTS 2
+
+/* Table Event Types */
+
+#define ACPI_TABLE_EVENT_LOAD 0x0
+#define ACPI_TABLE_EVENT_UNLOAD 0x1
+#define ACPI_TABLE_EVENT_INSTALL 0x2
+#define ACPI_TABLE_EVENT_UNINSTALL 0x3
+#define ACPI_NUM_TABLE_EVENTS 4
/* Address Spaces (For Operation Regions) */
diff --git a/source/include/acutils.h b/source/include/acutils.h
index f83996a41268..bdd6f9b55d21 100644
--- a/source/include/acutils.h
+++ b/source/include/acutils.h
@@ -224,14 +224,16 @@ AcpiUtStricmp (
ACPI_STATUS
AcpiUtStrtoul64 (
char *String,
- UINT32 Base,
- UINT32 MaxIntegerByteWidth,
+ UINT32 Flags,
UINT64 *RetInteger);
-/* Values for MaxIntegerByteWidth above */
-
-#define ACPI_MAX32_BYTE_WIDTH 4
-#define ACPI_MAX64_BYTE_WIDTH 8
+/*
+ * Values for Flags above
+ * Note: LIMIT values correspond to AcpiGbl_IntegerByteWidth values (4/8)
+ */
+#define ACPI_STRTOUL_32BIT 0x04 /* 4 bytes */
+#define ACPI_STRTOUL_64BIT 0x08 /* 8 bytes */
+#define ACPI_STRTOUL_BASE16 0x10 /* Default: Base10/16 */
/*
@@ -286,6 +288,11 @@ AcpiUtHexToAsciiChar (
UINT64 Integer,
UINT32 Position);
+ACPI_STATUS
+AcpiUtAsciiToHexByte (
+ char *TwoAsciiChars,
+ UINT8 *ReturnByte);
+
UINT8
AcpiUtAsciiCharToHex (
int HexChar);
diff --git a/source/include/platform/acefi.h b/source/include/platform/acefi.h
index 56c4b0aaa19e..af3df6cd81e5 100644
--- a/source/include/platform/acefi.h
+++ b/source/include/platform/acefi.h
@@ -246,12 +246,14 @@ struct _ACPI_EFI_FILE_IO_INTERFACE;
struct _ACPI_EFI_FILE_HANDLE;
struct _ACPI_EFI_BOOT_SERVICES;
struct _ACPI_EFI_SYSTEM_TABLE;
+struct _ACPI_EFI_PCI_IO;
extern struct _ACPI_EFI_SYSTEM_TABLE *ST;
extern struct _ACPI_EFI_BOOT_SERVICES *BS;
#define FILE struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE
-#define stdout ST->ConOut
-#define stderr ST->ConOut
+
+extern FILE *stdout;
+extern FILE *stderr;
#endif /* __ACEFI_H__ */
diff --git a/source/include/platform/acefiex.h b/source/include/platform/acefiex.h
index 8f98a6266dee..4ae0c6628087 100644
--- a/source/include/platform/acefiex.h
+++ b/source/include/platform/acefiex.h
@@ -831,6 +831,71 @@ typedef struct _ACPI_EFI_SYSTEM_TABLE {
} ACPI_EFI_SYSTEM_TABLE;
+/*
+ * EFI PCI I/O Protocol
+ */
+#define ACPI_EFI_PCI_IO_PROTOCOL \
+ { 0x4cf5b200, 0x68b8, 0x4ca5, {0x9e, 0xec, 0xb2, 0x3e, 0x3f, 0x50, 0x2, 0x9a} }
+
+typedef enum {
+ AcpiEfiPciIoWidthUint8 = 0,
+ AcpiEfiPciIoWidthUint16,
+ AcpiEfiPciIoWidthUint32,
+ AcpiEfiPciIoWidthUint64,
+ AcpiEfiPciIoWidthFifoUint8,
+ AcpiEfiPciIoWidthFifoUint16,
+ AcpiEfiPciIoWidthFifoUint32,
+ AcpiEfiPciIoWidthFifoUint64,
+ AcpiEfiPciIoWidthFillUint8,
+ AcpiEfiPciIoWidthFillUint16,
+ AcpiEfiPciIoWidthFillUint32,
+ AcpiEfiPciIoWidthFillUint64,
+ AcpiEfiPciIoWidthMaximum
+} ACPI_EFI_PCI_IO_PROTOCOL_WIDTH;
+
+typedef
+ACPI_EFI_STATUS
+(ACPI_EFI_API *ACPI_EFI_PCI_IO_PROTOCOL_CONFIG)(
+ struct _ACPI_EFI_PCI_IO *This,
+ ACPI_EFI_PCI_IO_PROTOCOL_WIDTH Width,
+ UINT32 Offset,
+ UINTN Count,
+ VOID *Buffer);
+
+typedef struct {
+ ACPI_EFI_PCI_IO_PROTOCOL_CONFIG Read;
+ ACPI_EFI_PCI_IO_PROTOCOL_CONFIG Write;
+} ACPI_EFI_PCI_IO_PROTOCOL_CONFIG_ACCESS;
+
+typedef
+ACPI_EFI_STATUS
+(ACPI_EFI_API *ACPI_EFI_PCI_IO_PROTOCOL_GET_LOCATION)(
+ struct _ACPI_EFI_PCI_IO *This,
+ UINTN *SegmentNumber,
+ UINTN *BusNumber,
+ UINTN *DeviceNumber,
+ UINTN *FunctionNumber);
+
+typedef struct _ACPI_EFI_PCI_IO {
+ ACPI_EFI_UNKNOWN_INTERFACE PollMem;
+ ACPI_EFI_UNKNOWN_INTERFACE PollIo;
+ ACPI_EFI_UNKNOWN_INTERFACE Mem;
+ ACPI_EFI_UNKNOWN_INTERFACE Io;
+ ACPI_EFI_PCI_IO_PROTOCOL_CONFIG_ACCESS Pci;
+ ACPI_EFI_UNKNOWN_INTERFACE CopyMem;
+ ACPI_EFI_UNKNOWN_INTERFACE Map;
+ ACPI_EFI_UNKNOWN_INTERFACE Unmap;
+ ACPI_EFI_UNKNOWN_INTERFACE AllocateBuffer;
+ ACPI_EFI_UNKNOWN_INTERFACE FreeBuffer;
+ ACPI_EFI_UNKNOWN_INTERFACE Flush;
+ ACPI_EFI_PCI_IO_PROTOCOL_GET_LOCATION GetLocation;
+ ACPI_EFI_UNKNOWN_INTERFACE Attributes;
+ ACPI_EFI_UNKNOWN_INTERFACE GetBarAttributes;
+ ACPI_EFI_UNKNOWN_INTERFACE SetBarAttributes;
+ UINT64 RomSize;
+ VOID *RomImage;
+} ACPI_EFI_PCI_IO;
+
/* GNU EFI definitions */
#if defined(_GNU_EFI)