diff options
author | jkim <jkim@FreeBSD.org> | 2013-12-19 05:51:01 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2013-12-19 05:51:01 +0000 |
commit | b37c83dbb637fc63c5ba07fe61555d4d6e29dd7c (patch) | |
tree | 7fcfdcc62c3319ffd669b18b080d40c9c5897210 /source/include | |
parent | a1672476f94b0c9ac84a682574aeb1eb481c484c (diff) | |
download | FreeBSD-src-b37c83dbb637fc63c5ba07fe61555d4d6e29dd7c.zip FreeBSD-src-b37c83dbb637fc63c5ba07fe61555d4d6e29dd7c.tar.gz |
Import ACPICA 20131218.
Diffstat (limited to 'source/include')
-rw-r--r-- | source/include/acdisasm.h | 25 | ||||
-rw-r--r-- | source/include/acevents.h | 5 | ||||
-rw-r--r-- | source/include/acglobal.h | 32 | ||||
-rw-r--r-- | source/include/aclocal.h | 10 | ||||
-rw-r--r-- | source/include/acpixf.h | 18 | ||||
-rw-r--r-- | source/include/actbl.h | 3 | ||||
-rw-r--r-- | source/include/actbl1.h | 10 | ||||
-rw-r--r-- | source/include/actbl2.h | 8 | ||||
-rw-r--r-- | source/include/actbl3.h | 16 | ||||
-rw-r--r-- | source/include/actypes.h | 8 | ||||
-rw-r--r-- | source/include/platform/acenv.h | 20 | ||||
-rw-r--r-- | source/include/platform/aclinux.h | 8 |
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, |