summaryrefslogtreecommitdiff
path: root/source/include
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2016-04-25 22:24:53 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2016-04-25 22:24:53 +0000
commit2331c681155dd7b2f78bd28ca0c183e2f98ff44f (patch)
tree299b4e7602e20d34772a23e4bdda2512f5f1706b /source/include
parent937fa60dd2f2b6264fb99f22b638190a3fef996b (diff)
Notes
Diffstat (limited to 'source/include')
-rw-r--r--source/include/acdisasm.h1
-rw-r--r--source/include/aclocal.h30
-rw-r--r--source/include/acmacros.h16
-rw-r--r--source/include/acpixf.h2
-rw-r--r--source/include/acpredef.h5
-rw-r--r--source/include/acrestyp.h1
-rw-r--r--source/include/actables.h4
-rw-r--r--source/include/actbl3.h31
-rw-r--r--source/include/acutils.h28
9 files changed, 82 insertions, 36 deletions
diff --git a/source/include/acdisasm.h b/source/include/acdisasm.h
index 3a066c8ee9ae..545622d4ec54 100644
--- a/source/include/acdisasm.h
+++ b/source/include/acdisasm.h
@@ -385,6 +385,7 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcctHdr[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct0[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct1[];
+extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct2[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[];
extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt[];
diff --git a/source/include/aclocal.h b/source/include/aclocal.h
index 48cff57676b5..e7a0d37d1447 100644
--- a/source/include/aclocal.h
+++ b/source/include/aclocal.h
@@ -1025,24 +1025,24 @@ typedef struct acpi_parse_state
/* Parse object flags */
-#define ACPI_PARSEOP_GENERIC 0x01
-#define ACPI_PARSEOP_NAMED 0x02
-#define ACPI_PARSEOP_DEFERRED 0x04
-#define ACPI_PARSEOP_BYTELIST 0x08
-#define ACPI_PARSEOP_IN_STACK 0x10
-#define ACPI_PARSEOP_TARGET 0x20
-#define ACPI_PARSEOP_IN_CACHE 0x80
+#define ACPI_PARSEOP_GENERIC 0x01
+#define ACPI_PARSEOP_NAMED_OBJECT 0x02
+#define ACPI_PARSEOP_DEFERRED 0x04
+#define ACPI_PARSEOP_BYTELIST 0x08
+#define ACPI_PARSEOP_IN_STACK 0x10
+#define ACPI_PARSEOP_TARGET 0x20
+#define ACPI_PARSEOP_IN_CACHE 0x80
/* Parse object DisasmFlags */
-#define ACPI_PARSEOP_IGNORE 0x01
-#define ACPI_PARSEOP_PARAMLIST 0x02
-#define ACPI_PARSEOP_EMPTY_TERMLIST 0x04
-#define ACPI_PARSEOP_PREDEF_CHECKED 0x08
-#define ACPI_PARSEOP_CLOSING_PAREN 0x10
-#define ACPI_PARSEOP_COMPOUND 0x20
-#define ACPI_PARSEOP_ASSIGNMENT 0x40
-#define ACPI_PARSEOP_ELSEIF 0x80
+#define ACPI_PARSEOP_IGNORE 0x01
+#define ACPI_PARSEOP_PARAMETER_LIST 0x02
+#define ACPI_PARSEOP_EMPTY_TERMLIST 0x04
+#define ACPI_PARSEOP_PREDEFINED_CHECKED 0x08
+#define ACPI_PARSEOP_CLOSING_PAREN 0x10
+#define ACPI_PARSEOP_COMPOUND_ASSIGNMENT 0x20
+#define ACPI_PARSEOP_ASSIGNMENT 0x40
+#define ACPI_PARSEOP_ELSEIF 0x80
/*****************************************************************************
diff --git a/source/include/acmacros.h b/source/include/acmacros.h
index ecb8050b39cb..d2f44a34ecb6 100644
--- a/source/include/acmacros.h
+++ b/source/include/acmacros.h
@@ -273,9 +273,21 @@
* Bit positions start at zero.
* MASK_BITS_ABOVE creates a mask starting AT the position and above
* MASK_BITS_BELOW creates a mask starting one bit BELOW the position
+ * MASK_BITS_ABOVE/BELOW accpets a bit offset to create a mask
+ * MASK_BITS_ABOVE/BELOW_32/64 accpets a bit width to create a mask
+ * Note: The ACPI_INTEGER_BIT_SIZE check is used to bypass compiler
+ * differences with the shift operator
*/
#define ACPI_MASK_BITS_ABOVE(position) (~((ACPI_UINT64_MAX) << ((UINT32) (position))))
#define ACPI_MASK_BITS_BELOW(position) ((ACPI_UINT64_MAX) << ((UINT32) (position)))
+#define ACPI_MASK_BITS_ABOVE_32(width) ((UINT32) ACPI_MASK_BITS_ABOVE(width))
+#define ACPI_MASK_BITS_BELOW_32(width) ((UINT32) ACPI_MASK_BITS_BELOW(width))
+#define ACPI_MASK_BITS_ABOVE_64(width) ((width) == ACPI_INTEGER_BIT_SIZE ? \
+ ACPI_UINT64_MAX : \
+ ACPI_MASK_BITS_ABOVE(width))
+#define ACPI_MASK_BITS_BELOW_64(width) ((width) == ACPI_INTEGER_BIT_SIZE ? \
+ (UINT64) 0 : \
+ ACPI_MASK_BITS_BELOW(width))
/* Bitfields within ACPI registers */
@@ -291,10 +303,10 @@
/* Generic bitfield macros and masks */
#define ACPI_GET_BITS(SourcePtr, Position, Mask) \
- ((*SourcePtr >> Position) & Mask)
+ ((*(SourcePtr) >> (Position)) & (Mask))
#define ACPI_SET_BITS(TargetPtr, Position, Mask, Value) \
- (*TargetPtr |= ((Value & Mask) << Position))
+ (*(TargetPtr) |= (((Value) & (Mask)) << (Position)))
#define ACPI_1BIT_MASK 0x00000001
#define ACPI_2BIT_MASK 0x00000003
diff --git a/source/include/acpixf.h b/source/include/acpixf.h
index 0c7e02106344..feafc3472da1 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 0x20160318
+#define ACPI_CA_VERSION 0x20160422
#include "acconfig.h"
#include "actypes.h"
diff --git a/source/include/acpredef.h b/source/include/acpredef.h
index c33564591411..ab61c53d7bf5 100644
--- a/source/include/acpredef.h
+++ b/source/include/acpredef.h
@@ -131,7 +131,8 @@ enum AcpiReturnPackageTypes
ACPI_PTYPE2_REV_FIXED = 9,
ACPI_PTYPE2_FIX_VAR = 10,
ACPI_PTYPE2_VAR_VAR = 11,
- ACPI_PTYPE2_UUID_PAIR = 12
+ ACPI_PTYPE2_UUID_PAIR = 12,
+ ACPI_PTYPE_CUSTOM = 13
};
@@ -344,7 +345,7 @@ const ACPI_PREDEFINED_INFO AcpiGbl_PredefinedMethods[] =
{{"_BIX", METHOD_0ARGS,
METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (16 Int),(4 Str) */
- PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 16, ACPI_RTYPE_STRING, 4,0),
+ PACKAGE_INFO (ACPI_PTYPE_CUSTOM, ACPI_RTYPE_INTEGER, 16, ACPI_RTYPE_STRING, 4,0),
{{"_BLT", METHOD_3ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER),
METHOD_NO_RETURN_VALUE}},
diff --git a/source/include/acrestyp.h b/source/include/acrestyp.h
index feec49803668..72f0d1631087 100644
--- a/source/include/acrestyp.h
+++ b/source/include/acrestyp.h
@@ -485,6 +485,7 @@ typedef struct acpi_resource_gpio
UINT8 Type; \
UINT8 ProducerConsumer; /* For values, see Producer/Consumer above */\
UINT8 SlaveMode; \
+ UINT8 ConnectionSharing; \
UINT8 TypeRevisionId; \
UINT16 TypeDataLength; \
UINT16 VendorLength; \
diff --git a/source/include/actables.h b/source/include/actables.h
index 69fbbc8a88da..e1a4a6eb63a4 100644
--- a/source/include/actables.h
+++ b/source/include/actables.h
@@ -246,10 +246,6 @@ ACPI_STATUS
AcpiTbParseRootTable (
ACPI_PHYSICAL_ADDRESS RsdpAddress);
-BOOLEAN
-AcpiIsValidSignature (
- char *Signature);
-
/*
* tbxfload
diff --git a/source/include/actbl3.h b/source/include/actbl3.h
index bc876a9e781b..ef40f19fc0a3 100644
--- a/source/include/actbl3.h
+++ b/source/include/actbl3.h
@@ -563,9 +563,10 @@ typedef struct acpi_table_pcct
enum AcpiPcctType
{
- ACPI_PCCT_TYPE_GENERIC_SUBSPACE = 0,
- ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE = 1,
- ACPI_PCCT_TYPE_RESERVED = 2 /* 2 and greater are reserved */
+ ACPI_PCCT_TYPE_GENERIC_SUBSPACE = 0,
+ ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE = 1,
+ ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE_TYPE2 = 2, /* ACPI 6.1 */
+ ACPI_PCCT_TYPE_RESERVED = 3 /* 3 and greater are reserved */
};
/*
@@ -609,6 +610,30 @@ typedef struct acpi_pcct_hw_reduced
} ACPI_PCCT_HW_REDUCED;
+
+/* 2: HW-reduced Communications Subspace Type 2 (ACPI 6.1) */
+
+typedef struct acpi_pcct_hw_reduced_type2
+{
+ ACPI_SUBTABLE_HEADER Header;
+ UINT32 DoorbellInterrupt;
+ UINT8 Flags;
+ UINT8 Reserved;
+ UINT64 BaseAddress;
+ UINT64 Length;
+ ACPI_GENERIC_ADDRESS DoorbellRegister;
+ UINT64 PreserveMask;
+ UINT64 WriteMask;
+ UINT32 Latency;
+ UINT32 MaxAccessRate;
+ UINT16 MinTurnaroundTime;
+ ACPI_GENERIC_ADDRESS DoorbellAckRegister;
+ UINT64 AckPreserveMask;
+ UINT64 AckWriteMask;
+
+} ACPI_PCCT_HW_REDUCED_TYPE2;
+
+
/* Values for doorbell flags above */
#define ACPI_PCCT_INTERRUPT_POLARITY (1)
diff --git a/source/include/acutils.h b/source/include/acutils.h
index ed45ef873fbe..d63f786e7413 100644
--- a/source/include/acutils.h
+++ b/source/include/acutils.h
@@ -175,6 +175,25 @@ typedef struct acpi_pkg_info
/*
+ * utascii - ASCII utilities
+ */
+BOOLEAN
+AcpiUtValidNameseg (
+ char *Signature);
+
+BOOLEAN
+AcpiUtValidNameChar (
+ char Character,
+ UINT32 Position);
+
+void
+AcpiUtCheckAndRepairAscii (
+ UINT8 *Name,
+ char *RepairedName,
+ UINT32 Count);
+
+
+/*
* utnonansi - Non-ANSI C library functions
*/
void
@@ -832,15 +851,6 @@ UtConvertBackslashes (
char *Pathname);
#endif
-BOOLEAN
-AcpiUtValidAcpiName (
- char *Name);
-
-BOOLEAN
-AcpiUtValidAcpiChar (
- char Character,
- UINT32 Position);
-
void
AcpiUtRepairName (
char *Name);