summaryrefslogtreecommitdiffstats
path: root/source/include
diff options
context:
space:
mode:
Diffstat (limited to 'source/include')
-rw-r--r--source/include/acdisasm.h25
-rw-r--r--source/include/acevents.h5
-rw-r--r--source/include/acglobal.h32
-rw-r--r--source/include/aclocal.h10
-rw-r--r--source/include/acpixf.h18
-rw-r--r--source/include/actbl.h3
-rw-r--r--source/include/actbl1.h10
-rw-r--r--source/include/actbl2.h8
-rw-r--r--source/include/actbl3.h16
-rw-r--r--source/include/actypes.h8
-rw-r--r--source/include/platform/acenv.h20
-rw-r--r--source/include/platform/aclinux.h8
12 files changed, 118 insertions, 45 deletions
diff --git a/source/include/acdisasm.h b/source/include/acdisasm.h
index d9257e9..b2c9f10 100644
--- a/source/include/acdisasm.h
+++ b/source/include/acdisasm.h
@@ -69,14 +69,14 @@ typedef const struct acpi_dmtable_info
} ACPI_DMTABLE_INFO;
+/* Values for Flags field above */
+
#define DT_LENGTH 0x01 /* Field is a subtable length */
#define DT_FLAG 0x02 /* Field is a flag value */
#define DT_NON_ZERO 0x04 /* Field must be non-zero */
-
-/* TBD: Not used at this time */
-
-#define DT_OPTIONAL 0x08
-#define DT_COUNT 0x10
+#define DT_OPTIONAL 0x08 /* Field is optional */
+#define DT_DESCRIBES_OPTIONAL 0x10 /* Field describes an optional field (length, etc.) */
+#define DT_COUNT 0x20 /* Currently not used */
/*
* Values for Opcode above.
@@ -147,6 +147,7 @@ typedef enum
ACPI_DMT_HESTNTYP,
ACPI_DMT_IVRS,
ACPI_DMT_MADT,
+ ACPI_DMT_PCCT,
ACPI_DMT_PMTT,
ACPI_DMT_SLIC,
ACPI_DMT_SRAT,
@@ -244,6 +245,7 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Device[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Addr[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Size[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Name[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2OemData[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbgp[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarHdr[];
@@ -324,6 +326,7 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt1a[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt2[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmttHdr[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcctHdr[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct0[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[];
@@ -668,11 +671,19 @@ AcpiDmClearExternalFileList (
void);
void
-AcpiDmAddToExternalList (
+AcpiDmAddOpToExternalList (
ACPI_PARSE_OBJECT *Op,
char *Path,
UINT8 Type,
- UINT32 Value);
+ UINT32 Value,
+ UINT16 Flags);
+
+void
+AcpiDmAddNodeToExternalList (
+ ACPI_NAMESPACE_NODE *Node,
+ UINT8 Type,
+ UINT32 Value,
+ UINT16 Flags);
void
AcpiDmAddExternalsToNamespace (
diff --git a/source/include/acevents.h b/source/include/acevents.h
index 67095aa..28bb6ce 100644
--- a/source/include/acevents.h
+++ b/source/include/acevents.h
@@ -206,9 +206,10 @@ AcpiEvGetGpeDevice (
ACPI_GPE_BLOCK_INFO *GpeBlock,
void *Context);
-ACPI_GPE_XRUPT_INFO *
+ACPI_STATUS
AcpiEvGetGpeXruptBlock (
- UINT32 InterruptNumber);
+ UINT32 InterruptNumber,
+ ACPI_GPE_XRUPT_INFO **GpeXruptBlock);
ACPI_STATUS
AcpiEvDeleteGpeXrupt (
diff --git a/source/include/acglobal.h b/source/include/acglobal.h
index cb76f65..e23aab9 100644
--- a/source/include/acglobal.h
+++ b/source/include/acglobal.h
@@ -121,6 +121,25 @@ UINT8 ACPI_INIT_GLOBAL (AcpiGbl_EnableAmlDebugObject, FALSE);
UINT8 ACPI_INIT_GLOBAL (AcpiGbl_CopyDsdtLocally, FALSE);
/*
+ * Optionally ignore an XSDT if present and use the RSDT instead.
+ * Although the ACPI specification requires that an XSDT be used instead
+ * of the RSDT, the XSDT has been found to be corrupt or ill-formed on
+ * some machines. Default behavior is to use the XSDT if present.
+ */
+UINT8 ACPI_INIT_GLOBAL (AcpiGbl_DoNotUseXsdt, 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
+ * requires the use of the corresponding 64-bit address if it is non-zero,
+ * some machines have been found to have a corrupted non-zero 64-bit
+ * address. Default is FALSE, do not favor the 32-bit addresses.
+ */
+UINT8 ACPI_INIT_GLOBAL (AcpiGbl_Use32BitFadtAddresses, FALSE);
+
+/*
* Optionally truncate I/O addresses to 16 bits. Provides compatibility
* with other ACPI implementations. NOTE: During ACPICA initialization,
* this value is set to TRUE if any Windows OSI strings have been
@@ -492,6 +511,19 @@ ACPI_EXTERN UINT32 AcpiGbl_SizeOfAcpiObjects;
/*****************************************************************************
*
+ * Application globals
+ *
+ ****************************************************************************/
+
+#ifdef ACPI_APPLICATION
+
+ACPI_FILE ACPI_INIT_GLOBAL (AcpiGbl_DebugFile, NULL);
+
+#endif /* ACPI_APPLICATION */
+
+
+/*****************************************************************************
+ *
* Info/help support
*
****************************************************************************/
diff --git a/source/include/aclocal.h b/source/include/aclocal.h
index 0febef4..7e4d63a 100644
--- a/source/include/aclocal.h
+++ b/source/include/aclocal.h
@@ -1218,17 +1218,17 @@ typedef struct acpi_external_list
struct acpi_external_list *Next;
UINT32 Value;
UINT16 Length;
+ UINT16 Flags;
UINT8 Type;
- UINT8 Flags;
- BOOLEAN Resolved;
- BOOLEAN Emitted;
} ACPI_EXTERNAL_LIST;
/* Values for Flags field above */
-#define ACPI_IPATH_ALLOCATED 0x01
-#define ACPI_FROM_REFERENCE_FILE 0x02
+#define ACPI_EXT_RESOLVED_REFERENCE 0x01 /* Object was resolved during cross ref */
+#define ACPI_EXT_ORIGIN_FROM_FILE 0x02 /* External came from a file */
+#define ACPI_EXT_INTERNAL_PATH_ALLOCATED 0x04 /* Deallocate internal path on completion */
+#define ACPI_EXT_EXTERNAL_EMITTED 0x08 /* External() statement has been emitted */
typedef struct acpi_external_file
diff --git a/source/include/acpixf.h b/source/include/acpixf.h
index 15273ad..0e93bb3 100644
--- a/source/include/acpixf.h
+++ b/source/include/acpixf.h
@@ -47,7 +47,7 @@
/* Current ACPICA subsystem version in YYYYMMDD format */
-#define ACPI_CA_VERSION 0x20131115
+#define ACPI_CA_VERSION 0x20131218
#include "acconfig.h"
#include "actypes.h"
@@ -70,17 +70,19 @@ extern UINT32 AcpiDbgLayer;
/* ACPICA runtime options */
-extern UINT8 AcpiGbl_EnableInterpreterSlack;
extern UINT8 AcpiGbl_AllMethodsSerialized;
-extern UINT8 AcpiGbl_CreateOsiMethod;
-extern UINT8 AcpiGbl_UseDefaultRegisterWidths;
-extern ACPI_NAME AcpiGbl_TraceMethodName;
-extern UINT32 AcpiGbl_TraceFlags;
-extern UINT8 AcpiGbl_EnableAmlDebugObject;
extern UINT8 AcpiGbl_CopyDsdtLocally;
-extern UINT8 AcpiGbl_TruncateIoAddresses;
+extern UINT8 AcpiGbl_CreateOsiMethod;
extern UINT8 AcpiGbl_DisableAutoRepair;
extern UINT8 AcpiGbl_DisableSsdtTableLoad;
+extern UINT8 AcpiGbl_DoNotUseXsdt;
+extern UINT8 AcpiGbl_EnableAmlDebugObject;
+extern UINT8 AcpiGbl_EnableInterpreterSlack;
+extern UINT32 AcpiGbl_TraceFlags;
+extern ACPI_NAME AcpiGbl_TraceMethodName;
+extern UINT8 AcpiGbl_TruncateIoAddresses;
+extern UINT8 AcpiGbl_Use32BitFadtAddresses;
+extern UINT8 AcpiGbl_UseDefaultRegisterWidths;
/*
diff --git a/source/include/actbl.h b/source/include/actbl.h
index cbcdb1d..407be1f 100644
--- a/source/include/actbl.h
+++ b/source/include/actbl.h
@@ -203,6 +203,9 @@ typedef struct acpi_table_xsdt
} ACPI_TABLE_XSDT;
+#define ACPI_RSDT_ENTRY_SIZE (sizeof (UINT32))
+#define ACPI_XSDT_ENTRY_SIZE (sizeof (UINT64))
+
/*******************************************************************************
*
diff --git a/source/include/actbl1.h b/source/include/actbl1.h
index 67579da..574ae5c 100644
--- a/source/include/actbl1.h
+++ b/source/include/actbl1.h
@@ -524,7 +524,7 @@ typedef struct acpi_hest_aer_common
UINT8 Enabled;
UINT32 RecordsToPreallocate;
UINT32 MaxSectionsPerRecord;
- UINT32 Bus;
+ UINT32 Bus; /* Bus and Segment numbers */
UINT16 Device;
UINT16 Function;
UINT16 DeviceControl;
@@ -541,6 +541,14 @@ typedef struct acpi_hest_aer_common
#define ACPI_HEST_FIRMWARE_FIRST (1)
#define ACPI_HEST_GLOBAL (1<<1)
+/*
+ * Macros to access the bus/segment numbers in Bus field above:
+ * Bus number is encoded in bits 7:0
+ * Segment number is encoded in bits 23:8
+ */
+#define ACPI_HEST_BUS(Bus) ((Bus) & 0xFF)
+#define ACPI_HEST_SEGMENT(Bus) (((Bus) >> 8) & 0xFFFF)
+
/* Hardware Error Notification */
diff --git a/source/include/actbl2.h b/source/include/actbl2.h
index 327a810..081ea2e 100644
--- a/source/include/actbl2.h
+++ b/source/include/actbl2.h
@@ -373,6 +373,14 @@ typedef struct acpi_table_dbg2
} ACPI_TABLE_DBG2;
+typedef struct acpi_dbg2_header
+{
+ UINT32 InfoOffset;
+ UINT32 InfoCount;
+
+} ACPI_DBG2_HEADER;
+
+
/* Debug Device Information Subtable */
typedef struct acpi_dbg2_device
diff --git a/source/include/actbl3.h b/source/include/actbl3.h
index acf2e13..e63d672 100644
--- a/source/include/actbl3.h
+++ b/source/include/actbl3.h
@@ -440,8 +440,7 @@ typedef struct acpi_table_pcct
{
ACPI_TABLE_HEADER Header; /* Common ACPI table header */
UINT32 Flags;
- UINT32 Latency;
- UINT32 Reserved;
+ UINT64 Reserved;
} ACPI_TABLE_PCCT;
@@ -449,8 +448,16 @@ typedef struct acpi_table_pcct
#define ACPI_PCCT_DOORBELL 1
+/* Values for subtable type in ACPI_SUBTABLE_HEADER */
+
+enum AcpiPcctType
+{
+ ACPI_PCCT_TYPE_GENERIC_SUBSPACE = 0,
+ ACPI_PCCT_TYPE_RESERVED = 1 /* 1 and greater are reserved */
+};
+
/*
- * PCCT subtables
+ * PCCT Subtables, correspond to Type in ACPI_SUBTABLE_HEADER
*/
/* 0: Generic Communications Subspace */
@@ -464,6 +471,9 @@ typedef struct acpi_pcct_subspace
ACPI_GENERIC_ADDRESS DoorbellRegister;
UINT64 PreserveMask;
UINT64 WriteMask;
+ UINT32 Latency;
+ UINT32 MaxAccessRate;
+ UINT16 MinTurnaroundTime;
} ACPI_PCCT_SUBSPACE;
diff --git a/source/include/actypes.h b/source/include/actypes.h
index 7c484b2..4ffb014 100644
--- a/source/include/actypes.h
+++ b/source/include/actypes.h
@@ -954,8 +954,8 @@ typedef struct acpi_object_list
* Miscellaneous common Data Structures used by the interfaces
*/
#define ACPI_NO_BUFFER 0
-#define ACPI_ALLOCATE_BUFFER (ACPI_SIZE) (-1)
-#define ACPI_ALLOCATE_LOCAL_BUFFER (ACPI_SIZE) (-2)
+#define ACPI_ALLOCATE_BUFFER (ACPI_SIZE) (-1) /* Let ACPICA allocate buffer */
+#define ACPI_ALLOCATE_LOCAL_BUFFER (ACPI_SIZE) (-2) /* For internal use only (enables tracking) */
typedef struct acpi_buffer
{
@@ -964,10 +964,6 @@ typedef struct acpi_buffer
} ACPI_BUFFER;
-/* Free a buffer created in an ACPI_BUFFER via ACPI_ALLOCATE_LOCAL_BUFFER */
-
-#define ACPI_FREE_BUFFER(b) ACPI_FREE(b.Pointer)
-
/*
* NameType for AcpiGetName
diff --git a/source/include/platform/acenv.h b/source/include/platform/acenv.h
index 8895ceb..6608571 100644
--- a/source/include/platform/acenv.h
+++ b/source/include/platform/acenv.h
@@ -97,13 +97,14 @@
#endif
/*
- * AcpiBin/AcpiDump/AcpiSrc/AcpiXtract configuration. All single
+ * AcpiBin/AcpiDump/AcpiSrc/AcpiXtract/Example configuration. All single
* threaded, with no debug output.
*/
-#if (defined ACPI_BIN_APP) || \
- (defined ACPI_DUMP_APP) || \
- (defined ACPI_SRC_APP) || \
- (defined ACPI_XTRACT_APP)
+#if (defined ACPI_BIN_APP) || \
+ (defined ACPI_DUMP_APP) || \
+ (defined ACPI_SRC_APP) || \
+ (defined ACPI_XTRACT_APP) || \
+ (defined ACPI_EXAMPLE_APP)
#define ACPI_APPLICATION
#define ACPI_SINGLE_THREADED
#endif
@@ -396,4 +397,13 @@ typedef char *va_list;
#endif /* ACPI_USE_SYSTEM_CLIBRARY */
+#ifndef ACPI_FILE
+#ifdef ACPI_APPLICATION
+#include <stdio.h>
+#define ACPI_FILE FILE *
+#else
+#define ACPI_FILE void *
+#endif /* ACPI_APPLICATION */
+#endif /* ACPI_FILE */
+
#endif /* __ACENV_H__ */
diff --git a/source/include/platform/aclinux.h b/source/include/platform/aclinux.h
index f56aff1..51cc4c2 100644
--- a/source/include/platform/aclinux.h
+++ b/source/include/platform/aclinux.h
@@ -257,14 +257,6 @@ EarlyAcpiOsUnmapMemory (
void __iomem *Virt,
ACPI_SIZE Size);
-void
-AcpiOsGpeCount (
- UINT32 GpeNumber);
-
-void
-AcpiOsFixedEventCount (
- UINT32 FixedEventNumber);
-
ACPI_STATUS
AcpiOsHotplugExecute (
ACPI_OSD_EXEC_CALLBACK Function,
OpenPOWER on IntegriCloud