[PATCH] ACPICA: Update to version 20160527
Colin King
colin.king at canonical.com
Mon May 30 20:53:35 UTC 2016
From: Colin Ian King <colin.king at canonical.com>
Changes in this release of ACPICA are detailed at the following
link on the ACPICA developer mailing list:
Signed-off-by: Colin Ian King <colin.king at canonical.com>
---
src/acpica/source/components/debugger/dbobject.c | 4 +-
.../source/components/disassembler/dmopcode.c | 11 +-
src/acpica/source/components/disassembler/dmwalk.c | 29 +--
src/acpica/source/components/dispatcher/dsutils.c | 14 +-
src/acpica/source/components/executer/exfldio.c | 15 +-
src/acpica/source/components/hardware/hwregs.c | 239 +++------------------
src/acpica/source/components/namespace/nsaccess.c | 4 +-
src/acpica/source/components/namespace/nsdump.c | 2 +-
src/acpica/source/components/utilities/utdebug.c | 42 ++++
src/acpica/source/components/utilities/utdecode.c | 2 +-
src/acpica/source/include/acglobal.h | 1 +
src/acpica/source/include/acmacros.h | 16 --
src/acpica/source/include/acoutput.h | 6 +-
src/acpica/source/include/acpixf.h | 2 +-
src/acpica/source/include/acutils.h | 20 ++
src/acpica/source/include/platform/aclinux.h | 8 +
16 files changed, 164 insertions(+), 251 deletions(-)
diff --git a/src/acpica/source/components/debugger/dbobject.c b/src/acpica/source/components/debugger/dbobject.c
index 1fa7b89..ff84385 100644
--- a/src/acpica/source/components/debugger/dbobject.c
+++ b/src/acpica/source/components/debugger/dbobject.c
@@ -233,10 +233,10 @@ AcpiDbDecodeInternalObject (
case ACPI_TYPE_STRING:
- AcpiOsPrintf ("(%u) \"%.24s",
+ AcpiOsPrintf ("(%u) \"%.60s",
ObjDesc->String.Length, ObjDesc->String.Pointer);
- if (ObjDesc->String.Length > 24)
+ if (ObjDesc->String.Length > 60)
{
AcpiOsPrintf ("...");
}
diff --git a/src/acpica/source/components/disassembler/dmopcode.c b/src/acpica/source/components/disassembler/dmopcode.c
index f0204de..683fd0a 100644
--- a/src/acpica/source/components/disassembler/dmopcode.c
+++ b/src/acpica/source/components/disassembler/dmopcode.c
@@ -1043,7 +1043,16 @@ AcpiDmDisassembleOneOp (
case AML_EXTERNAL_OP:
- break;
+ if (AcpiGbl_DmEmitExternalOpcodes)
+ {
+ AcpiOsPrintf ("/* Opcode 0x15 */ ");
+
+ /* Fallthrough */
+ }
+ else
+ {
+ break;
+ }
default:
diff --git a/src/acpica/source/components/disassembler/dmwalk.c b/src/acpica/source/components/disassembler/dmwalk.c
index 7c18065..34ab040 100644
--- a/src/acpica/source/components/disassembler/dmwalk.c
+++ b/src/acpica/source/components/disassembler/dmwalk.c
@@ -534,21 +534,26 @@ AcpiDmDescendingOp (
{
NextOp->Common.DisasmFlags |= ACPI_PARSEOP_PARAMETER_LIST;
- /*
- * A Zero predicate indicates the possibility of one or more
- * External() opcodes within the If() block.
- */
- if (NextOp->Common.AmlOpcode == AML_ZERO_OP)
- {
- NextOp2 = NextOp->Common.Next;
+ /* Don't emit the actual embedded externals unless asked */
- if (NextOp2 &&
- (NextOp2->Common.AmlOpcode == AML_EXTERNAL_OP))
+ if (!AcpiGbl_DmEmitExternalOpcodes)
+ {
+ /*
+ * A Zero predicate indicates the possibility of one or more
+ * External() opcodes within the If() block.
+ */
+ if (NextOp->Common.AmlOpcode == AML_ZERO_OP)
{
- /* Ignore the If 0 block and all children */
+ NextOp2 = NextOp->Common.Next;
+
+ if (NextOp2 &&
+ (NextOp2->Common.AmlOpcode == AML_EXTERNAL_OP))
+ {
+ /* Ignore the If 0 block and all children */
- Op->Common.DisasmFlags |= ACPI_PARSEOP_IGNORE;
- return (AE_CTRL_DEPTH);
+ Op->Common.DisasmFlags |= ACPI_PARSEOP_IGNORE;
+ return (AE_CTRL_DEPTH);
+ }
}
}
}
diff --git a/src/acpica/source/components/dispatcher/dsutils.c b/src/acpica/source/components/dispatcher/dsutils.c
index 52e9ca8..1e049d4 100644
--- a/src/acpica/source/components/dispatcher/dsutils.c
+++ b/src/acpica/source/components/dispatcher/dsutils.c
@@ -675,12 +675,14 @@ AcpiDsCreateOperand (
}
else if (ParentOp->Common.AmlOpcode == AML_EXTERNAL_OP)
{
- /* TBD: May only be temporary */
-
- ObjDesc = AcpiUtCreateStringObject ((ACPI_SIZE) NameLength);
-
- strncpy (ObjDesc->String.Pointer, NameString, NameLength);
- Status = AE_OK;
+ /*
+ * This opcode should never appear here. It is used only
+ * by AML disassemblers and is surrounded by an If(0)
+ * by the ASL compiler.
+ *
+ * Therefore, if we see it here, it is a serious error.
+ */
+ Status = AE_AML_BAD_OPCODE;
}
else
{
diff --git a/src/acpica/source/components/executer/exfldio.c b/src/acpica/source/components/executer/exfldio.c
index 578ba48..b7e86fd 100644
--- a/src/acpica/source/components/executer/exfldio.c
+++ b/src/acpica/source/components/executer/exfldio.c
@@ -1018,9 +1018,20 @@ AcpiExInsertIntoField (
AccessBitWidth = ACPI_MUL_8 (ObjDesc->CommonField.AccessByteWidth);
- /* Create the bitmasks used for bit insertion */
+ /*
+ * Create the bitmasks used for bit insertion.
+ * Note: This if/else is used to bypass compiler differences with the
+ * shift operator
+ */
+ if (AccessBitWidth == ACPI_INTEGER_BIT_SIZE)
+ {
+ WidthMask = ACPI_UINT64_MAX;
+ }
+ else
+ {
+ WidthMask = ACPI_MASK_BITS_ABOVE (AccessBitWidth);
+ }
- WidthMask = ACPI_MASK_BITS_ABOVE_64 (AccessBitWidth);
Mask = WidthMask &
ACPI_MASK_BITS_BELOW (ObjDesc->CommonField.StartFieldBitOffset);
diff --git a/src/acpica/source/components/hardware/hwregs.c b/src/acpica/source/components/hardware/hwregs.c
index 9e4c3bf..ffad33f 100644
--- a/src/acpica/source/components/hardware/hwregs.c
+++ b/src/acpica/source/components/hardware/hwregs.c
@@ -126,11 +126,6 @@
/* Local Prototypes */
-static UINT8
-AcpiHwGetAccessBitWidth (
- ACPI_GENERIC_ADDRESS *Reg,
- UINT8 MaxBitWidth);
-
static ACPI_STATUS
AcpiHwReadMultiple (
UINT32 *Value,
@@ -148,43 +143,6 @@ AcpiHwWriteMultiple (
/******************************************************************************
*
- * FUNCTION: AcpiHwGetAccessBitWidth
- *
- * PARAMETERS: Reg - GAS register structure
- * MaxBitWidth - Max BitWidth supported (32 or 64)
- *
- * RETURN: Status
- *
- * DESCRIPTION: Obtain optimal access bit width
- *
- ******************************************************************************/
-
-static UINT8
-AcpiHwGetAccessBitWidth (
- ACPI_GENERIC_ADDRESS *Reg,
- UINT8 MaxBitWidth)
-{
-
- if (!Reg->AccessWidth)
- {
- if (Reg->SpaceId == ACPI_ADR_SPACE_SYSTEM_IO)
- {
- return (32);
- }
- else
- {
- return (MaxBitWidth);
- }
- }
- else
- {
- return (1 << (Reg->AccessWidth + 2));
- }
-}
-
-
-/******************************************************************************
- *
* FUNCTION: AcpiHwValidateRegister
*
* PARAMETERS: Reg - GAS register structure
@@ -205,9 +163,6 @@ AcpiHwValidateRegister (
UINT8 MaxBitWidth,
UINT64 *Address)
{
- UINT8 BitWidth;
- UINT8 AccessWidth;
-
/* Must have a valid pointer to a GAS structure */
@@ -237,25 +192,24 @@ AcpiHwValidateRegister (
return (AE_SUPPORT);
}
- /* Validate the AccessWidth */
+ /* Validate the BitWidth */
- if (Reg->AccessWidth > 4)
+ if ((Reg->BitWidth != 8) &&
+ (Reg->BitWidth != 16) &&
+ (Reg->BitWidth != 32) &&
+ (Reg->BitWidth != MaxBitWidth))
{
ACPI_ERROR ((AE_INFO,
- "Unsupported register access width: 0x%X", Reg->AccessWidth));
+ "Unsupported register bit width: 0x%X", Reg->BitWidth));
return (AE_SUPPORT);
}
- /* Validate the BitWidth, convert AccessWidth into number of bits */
+ /* Validate the BitOffset. Just a warning for now. */
- AccessWidth = AcpiHwGetAccessBitWidth (Reg, MaxBitWidth);
- BitWidth = ACPI_ROUND_UP (Reg->BitOffset + Reg->BitWidth, AccessWidth);
- if (MaxBitWidth < BitWidth)
+ if (Reg->BitOffset != 0)
{
ACPI_WARNING ((AE_INFO,
- "Requested bit width 0x%X is smaller than register bit width 0x%X",
- MaxBitWidth, BitWidth));
- return (AE_SUPPORT);
+ "Unsupported register bit offset: 0x%X", Reg->BitOffset));
}
return (AE_OK);
@@ -276,7 +230,10 @@ AcpiHwValidateRegister (
* 64-bit values is not needed.
*
* LIMITATIONS: <These limitations also apply to AcpiHwWrite>
+ * BitWidth must be exactly 8, 16, or 32.
* SpaceID must be SystemMemory or SystemIO.
+ * BitOffset and AccessWidth are currently ignored, as there has
+ * not been a need to implement these.
*
******************************************************************************/
@@ -286,12 +243,7 @@ AcpiHwRead (
ACPI_GENERIC_ADDRESS *Reg)
{
UINT64 Address;
- UINT8 AccessWidth;
- UINT32 BitWidth;
- UINT8 BitOffset;
UINT64 Value64;
- UINT32 Value32;
- UINT8 Index;
ACPI_STATUS Status;
@@ -306,64 +258,30 @@ AcpiHwRead (
return (Status);
}
- /*
- * Initialize entire 32-bit return value to zero, convert AccessWidth
- * into number of bits based
- */
+ /* Initialize entire 32-bit return value to zero */
+
*Value = 0;
- AccessWidth = AcpiHwGetAccessBitWidth (Reg, 32);
- BitWidth = Reg->BitOffset + Reg->BitWidth;
- BitOffset = Reg->BitOffset;
/*
* Two address spaces supported: Memory or IO. PCI_Config is
* not supported here because the GAS structure is insufficient
*/
- Index = 0;
- while (BitWidth)
+ if (Reg->SpaceId == ACPI_ADR_SPACE_SYSTEM_MEMORY)
{
- if (BitOffset > AccessWidth)
- {
- Value32 = 0;
- BitOffset -= AccessWidth;
- }
- else
- {
- if (Reg->SpaceId == ACPI_ADR_SPACE_SYSTEM_MEMORY)
- {
- Status = AcpiOsReadMemory ((ACPI_PHYSICAL_ADDRESS)
- Address + Index * ACPI_DIV_8 (AccessWidth),
- &Value64, AccessWidth);
- Value32 = (UINT32) Value64;
- }
- else /* ACPI_ADR_SPACE_SYSTEM_IO, validated earlier */
- {
- Status = AcpiHwReadPort ((ACPI_IO_ADDRESS)
- Address + Index * ACPI_DIV_8 (AccessWidth),
- &Value32, AccessWidth);
- }
-
- if (BitOffset)
- {
- Value32 &= ACPI_MASK_BITS_BELOW (BitOffset);
- BitOffset = 0;
- }
- if (BitWidth < AccessWidth)
- {
- Value32 &= ACPI_MASK_BITS_ABOVE (BitWidth);
- }
- }
-
- ACPI_SET_BITS (Value, Index * AccessWidth,
- ACPI_MASK_BITS_ABOVE_32 (AccessWidth), Value32);
+ Status = AcpiOsReadMemory ((ACPI_PHYSICAL_ADDRESS)
+ Address, &Value64, Reg->BitWidth);
- BitWidth -= BitWidth > AccessWidth ? AccessWidth : BitWidth;
- Index++;
+ *Value = (UINT32) Value64;
+ }
+ else /* ACPI_ADR_SPACE_SYSTEM_IO, validated earlier */
+ {
+ Status = AcpiHwReadPort ((ACPI_IO_ADDRESS)
+ Address, Value, Reg->BitWidth);
}
ACPI_DEBUG_PRINT ((ACPI_DB_IO,
"Read: %8.8X width %2d from %8.8X%8.8X (%s)\n",
- *Value, AccessWidth, ACPI_FORMAT_UINT64 (Address),
+ *Value, Reg->BitWidth, ACPI_FORMAT_UINT64 (Address),
AcpiUtGetRegionName (Reg->SpaceId)));
return (Status);
@@ -391,12 +309,6 @@ AcpiHwWrite (
ACPI_GENERIC_ADDRESS *Reg)
{
UINT64 Address;
- UINT8 AccessWidth;
- UINT32 BitWidth;
- UINT8 BitOffset;
- UINT64 Value64;
- UINT32 NewValue32, OldValue32;
- UINT8 Index;
ACPI_STATUS Status;
@@ -411,109 +323,24 @@ AcpiHwWrite (
return (Status);
}
- /* Convert AccessWidth into number of bits based */
-
- AccessWidth = AcpiHwGetAccessBitWidth (Reg, 32);
- BitWidth = Reg->BitOffset + Reg->BitWidth;
- BitOffset = Reg->BitOffset;
-
/*
* Two address spaces supported: Memory or IO. PCI_Config is
* not supported here because the GAS structure is insufficient
*/
- Index = 0;
- while (BitWidth)
+ if (Reg->SpaceId == ACPI_ADR_SPACE_SYSTEM_MEMORY)
{
- NewValue32 = ACPI_GET_BITS (&Value, Index * AccessWidth,
- ACPI_MASK_BITS_ABOVE_32 (AccessWidth));
-
- if (BitOffset > AccessWidth)
- {
- BitOffset -= AccessWidth;
- }
- else
- {
- if (BitOffset)
- {
- NewValue32 &= ACPI_MASK_BITS_BELOW (BitOffset);
- }
-
- if (BitWidth < AccessWidth)
- {
- NewValue32 &= ACPI_MASK_BITS_ABOVE (BitWidth);
- }
-
- if (Reg->SpaceId == ACPI_ADR_SPACE_SYSTEM_MEMORY)
- {
- if (BitOffset || BitWidth < AccessWidth)
- {
- /*
- * Read old values in order not to modify the bits that
- * are beyond the register BitWidth/BitOffset setting.
- */
- Status = AcpiOsReadMemory ((ACPI_PHYSICAL_ADDRESS)
- Address + Index * ACPI_DIV_8 (AccessWidth),
- &Value64, AccessWidth);
- OldValue32 = (UINT32) Value64;
-
- if (BitOffset)
- {
- OldValue32 &= ACPI_MASK_BITS_ABOVE (BitOffset + 1);
- BitOffset = 0;
- }
-
- if (BitWidth < AccessWidth)
- {
- OldValue32 &= ACPI_MASK_BITS_BELOW (BitWidth - 1);
- }
-
- NewValue32 |= OldValue32;
- }
-
- Value64 = (UINT64) NewValue32;
- Status = AcpiOsWriteMemory ((ACPI_PHYSICAL_ADDRESS)
- Address + Index * ACPI_DIV_8 (AccessWidth),
- Value64, AccessWidth);
- }
- else /* ACPI_ADR_SPACE_SYSTEM_IO, validated earlier */
- {
- if (BitOffset || BitWidth < AccessWidth)
- {
- /*
- * Read old values in order not to modify the bits that
- * are beyond the register BitWidth/BitOffset setting.
- */
- Status = AcpiHwReadPort ((ACPI_IO_ADDRESS)
- Address + Index * ACPI_DIV_8 (AccessWidth),
- &OldValue32, AccessWidth);
-
- if (BitOffset)
- {
- OldValue32 &= ACPI_MASK_BITS_ABOVE (BitOffset + 1);
- BitOffset = 0;
- }
-
- if (BitWidth < AccessWidth)
- {
- OldValue32 &= ACPI_MASK_BITS_BELOW (BitWidth - 1);
- }
-
- NewValue32 |= OldValue32;
- }
-
- Status = AcpiHwWritePort ((ACPI_IO_ADDRESS)
- Address + Index * ACPI_DIV_8 (AccessWidth),
- NewValue32, AccessWidth);
- }
- }
-
- BitWidth -= BitWidth > AccessWidth ? AccessWidth : BitWidth;
- Index++;
+ Status = AcpiOsWriteMemory ((ACPI_PHYSICAL_ADDRESS)
+ Address, (UINT64) Value, Reg->BitWidth);
+ }
+ else /* ACPI_ADR_SPACE_SYSTEM_IO, validated earlier */
+ {
+ Status = AcpiHwWritePort ((ACPI_IO_ADDRESS)
+ Address, Value, Reg->BitWidth);
}
ACPI_DEBUG_PRINT ((ACPI_DB_IO,
"Wrote: %8.8X width %2d to %8.8X%8.8X (%s)\n",
- Value, AccessWidth, ACPI_FORMAT_UINT64 (Address),
+ Value, Reg->BitWidth, ACPI_FORMAT_UINT64 (Address),
AcpiUtGetRegionName (Reg->SpaceId)));
return (Status);
diff --git a/src/acpica/source/components/namespace/nsaccess.c b/src/acpica/source/components/namespace/nsaccess.c
index 9ac25b1..a482dee 100644
--- a/src/acpica/source/components/namespace/nsaccess.c
+++ b/src/acpica/source/components/namespace/nsaccess.c
@@ -188,8 +188,8 @@ AcpiNsRootInitialize (
continue;
}
- Status = AcpiNsLookup (NULL, (char *) InitVal->Name, InitVal->Type,
- ACPI_IMODE_LOAD_PASS2, ACPI_NS_NO_UPSEARCH,
+ Status = AcpiNsLookup (NULL, ACPI_CAST_PTR (char, InitVal->Name),
+ InitVal->Type, ACPI_IMODE_LOAD_PASS2, ACPI_NS_NO_UPSEARCH,
NULL, &NewNode);
if (ACPI_FAILURE (Status))
{
diff --git a/src/acpica/source/components/namespace/nsdump.c b/src/acpica/source/components/namespace/nsdump.c
index ff84b3b..a3ae6b2 100644
--- a/src/acpica/source/components/namespace/nsdump.c
+++ b/src/acpica/source/components/namespace/nsdump.c
@@ -454,7 +454,7 @@ AcpiNsDumpOneObject (
case ACPI_TYPE_STRING:
AcpiOsPrintf ("Len %.2X ", ObjDesc->String.Length);
- AcpiUtPrintString (ObjDesc->String.Pointer, 32);
+ AcpiUtPrintString (ObjDesc->String.Pointer, 80);
AcpiOsPrintf ("\n");
break;
diff --git a/src/acpica/source/components/utilities/utdebug.c b/src/acpica/source/components/utilities/utdebug.c
index b68d36e..4d2b306 100644
--- a/src/acpica/source/components/utilities/utdebug.c
+++ b/src/acpica/source/components/utilities/utdebug.c
@@ -704,6 +704,48 @@ AcpiUtPtrExit (
/*******************************************************************************
*
+ * FUNCTION: AcpiUtStrExit
+ *
+ * PARAMETERS: LineNumber - Caller's line number
+ * FunctionName - Caller's procedure name
+ * ModuleName - Caller's module name
+ * ComponentId - Caller's component ID
+ * String - String to display
+ *
+ * RETURN: None
+ *
+ * DESCRIPTION: Function exit trace. Prints only if TRACE_FUNCTIONS bit is
+ * set in DebugLevel. Prints exit value also.
+ *
+ ******************************************************************************/
+
+void
+AcpiUtStrExit (
+ UINT32 LineNumber,
+ const char *FunctionName,
+ const char *ModuleName,
+ UINT32 ComponentId,
+ const char *String)
+{
+
+ /* Check if enabled up-front for performance */
+
+ if (ACPI_IS_DEBUG_ENABLED (ACPI_LV_FUNCTIONS, ComponentId))
+ {
+ AcpiDebugPrint (ACPI_LV_FUNCTIONS,
+ LineNumber, FunctionName, ModuleName, ComponentId,
+ "%s %s\n", AcpiGbl_FunctionExitPrefix, String);
+ }
+
+ if (AcpiGbl_NestingLevel)
+ {
+ AcpiGbl_NestingLevel--;
+ }
+}
+
+
+/*******************************************************************************
+ *
* FUNCTION: AcpiTracePoint
*
* PARAMETERS: Type - Trace event type
diff --git a/src/acpica/source/components/utilities/utdecode.c b/src/acpica/source/components/utilities/utdecode.c
index 7d1180d..dcfdfee 100644
--- a/src/acpica/source/components/utilities/utdecode.c
+++ b/src/acpica/source/components/utilities/utdecode.c
@@ -356,7 +356,7 @@ AcpiUtGetObjectTypeName (
return_PTR ("Invalid object");
}
- return_PTR (AcpiUtGetTypeName (ObjDesc->Common.Type));
+ return_STR (AcpiUtGetTypeName (ObjDesc->Common.Type));
}
diff --git a/src/acpica/source/include/acglobal.h b/src/acpica/source/include/acglobal.h
index 67a1672..2376312 100644
--- a/src/acpica/source/include/acglobal.h
+++ b/src/acpica/source/include/acglobal.h
@@ -393,6 +393,7 @@ ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_IgnoreNoopOperator, FALSE);
ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_CstyleDisassembly, TRUE);
ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_ForceAmlDisassembly, FALSE);
ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DmOpt_Verbose, TRUE);
+ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DmEmitExternalOpcodes, FALSE);
ACPI_GLOBAL (BOOLEAN, AcpiGbl_DmOpt_Disasm);
ACPI_GLOBAL (BOOLEAN, AcpiGbl_DmOpt_Listing);
diff --git a/src/acpica/source/include/acmacros.h b/src/acpica/source/include/acmacros.h
index d0514a1..a805a32 100644
--- a/src/acpica/source/include/acmacros.h
+++ b/src/acpica/source/include/acmacros.h
@@ -336,30 +336,14 @@
#define ACPI_IS_MISALIGNED(value) (((ACPI_SIZE) value) & (sizeof(ACPI_SIZE)-1))
-/* Generic (power-of-two) rounding */
-
-#define ACPI_IS_POWER_OF_TWO(a) (((a) & ((a) - 1)) == 0)
-
/*
* Bitmask creation
* 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 */
diff --git a/src/acpica/source/include/acoutput.h b/src/acpica/source/include/acoutput.h
index 6877044..717a2c3 100644
--- a/src/acpica/source/include/acoutput.h
+++ b/src/acpica/source/include/acoutput.h
@@ -444,7 +444,7 @@
ACPI_TRACE_ENTRY (Name, AcpiUtTraceU32, UINT32, Value)
#define ACPI_FUNCTION_TRACE_STR(Name, String) \
- ACPI_TRACE_ENTRY (Name, AcpiUtTraceStr, char *, String)
+ ACPI_TRACE_ENTRY (Name, AcpiUtTraceStr, const char *, String)
#define ACPI_FUNCTION_ENTRY() \
AcpiUtTrackStackPtr()
@@ -504,6 +504,9 @@
#define return_PTR(Pointer) \
ACPI_TRACE_EXIT (AcpiUtPtrExit, void *, Pointer)
+#define return_STR(String) \
+ ACPI_TRACE_EXIT (AcpiUtStrExit, const char *, String)
+
#define return_VALUE(Value) \
ACPI_TRACE_EXIT (AcpiUtValueExit, UINT64, Value)
@@ -558,6 +561,7 @@
#define return_VOID return
#define return_ACPI_STATUS(s) return(s)
#define return_PTR(s) return(s)
+#define return_STR(s) return(s)
#define return_VALUE(s) return(s)
#define return_UINT8(s) return(s)
#define return_UINT32(s) return(s)
diff --git a/src/acpica/source/include/acpixf.h b/src/acpica/source/include/acpixf.h
index 6ced00d..2f939b1 100644
--- a/src/acpica/source/include/acpixf.h
+++ b/src/acpica/source/include/acpixf.h
@@ -118,7 +118,7 @@
/* Current ACPICA subsystem version in YYYYMMDD format */
-#define ACPI_CA_VERSION 0x20160422
+#define ACPI_CA_VERSION 0x20160527
#include "acconfig.h"
#include "actypes.h"
diff --git a/src/acpica/source/include/acutils.h b/src/acpica/source/include/acutils.h
index b6f42d1..3fdca45 100644
--- a/src/acpica/source/include/acutils.h
+++ b/src/acpica/source/include/acutils.h
@@ -187,13 +187,25 @@ extern const char *AcpiGbl_PtDecode[];
/*
* Common error message prefixes
*/
+#ifndef ACPI_MSG_ERROR
#define ACPI_MSG_ERROR "ACPI Error: "
+#endif
+#ifndef ACPI_MSG_EXCEPTION
#define ACPI_MSG_EXCEPTION "ACPI Exception: "
+#endif
+#ifndef ACPI_MSG_WARNING
#define ACPI_MSG_WARNING "ACPI Warning: "
+#endif
+#ifndef ACPI_MSG_INFO
#define ACPI_MSG_INFO "ACPI: "
+#endif
+#ifndef ACPI_MSG_BIOS_ERROR
#define ACPI_MSG_BIOS_ERROR "ACPI BIOS Error (bug): "
+#endif
+#ifndef ACPI_MSG_BIOS_WARNING
#define ACPI_MSG_BIOS_WARNING "ACPI BIOS Warning (bug): "
+#endif
/*
* Common message suffix
@@ -488,6 +500,14 @@ AcpiUtPtrExit (
UINT8 *Ptr);
void
+AcpiUtStrExit (
+ UINT32 LineNumber,
+ const char *FunctionName,
+ const char *ModuleName,
+ UINT32 ComponentId,
+ const char *String);
+
+void
AcpiUtDebugDumpBuffer (
UINT8 *Buffer,
UINT32 Count,
diff --git a/src/acpica/source/include/platform/aclinux.h b/src/acpica/source/include/platform/aclinux.h
index abbe1ea..9127735 100644
--- a/src/acpica/source/include/platform/aclinux.h
+++ b/src/acpica/source/include/platform/aclinux.h
@@ -235,6 +235,14 @@
#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetNextFilename
#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsCloseDirectory
+#define ACPI_MSG_ERROR KERN_ERR "ACPI Error: "
+#define ACPI_MSG_EXCEPTION KERN_ERR "ACPI Exception: "
+#define ACPI_MSG_WARNING KERN_WARNING "ACPI Warning: "
+#define ACPI_MSG_INFO KERN_INFO "ACPI: "
+
+#define ACPI_MSG_BIOS_ERROR KERN_ERR "ACPI BIOS Error (bug): "
+#define ACPI_MSG_BIOS_WARNING KERN_WARNING "ACPI BIOS Warning (bug): "
+
#else /* !__KERNEL__ */
#include <stdarg.h>
--
2.8.1
More information about the fwts-devel
mailing list