summaryrefslogtreecommitdiffstats
path: root/sys/contrib/dev/acpica/components/resources
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/dev/acpica/components/resources')
-rw-r--r--sys/contrib/dev/acpica/components/resources/rscalc.c7
-rw-r--r--sys/contrib/dev/acpica/components/resources/rscreate.c30
-rw-r--r--sys/contrib/dev/acpica/components/resources/rsdump.c10
-rw-r--r--sys/contrib/dev/acpica/components/resources/rsmisc.c57
-rw-r--r--sys/contrib/dev/acpica/components/resources/rsutils.c5
-rw-r--r--sys/contrib/dev/acpica/components/resources/rsxface.c1
6 files changed, 23 insertions, 87 deletions
diff --git a/sys/contrib/dev/acpica/components/resources/rscalc.c b/sys/contrib/dev/acpica/components/resources/rscalc.c
index 9dd3321..7fadb41 100644
--- a/sys/contrib/dev/acpica/components/resources/rscalc.c
+++ b/sys/contrib/dev/acpica/components/resources/rscalc.c
@@ -371,8 +371,8 @@ AcpiRsGetAmlLength (
break;
-
default:
+
break;
}
@@ -562,6 +562,7 @@ AcpiRsGetListLength (
break;
default:
+
break;
}
@@ -676,7 +677,9 @@ AcpiRsGetPciRoutingTableLength (
NameFound = FALSE;
- for (TableIndex = 0; TableIndex < 4 && !NameFound; TableIndex++)
+ for (TableIndex = 0;
+ TableIndex < PackageElement->Package.Count && !NameFound;
+ TableIndex++)
{
if (*SubObjectList && /* Null object allowed */
diff --git a/sys/contrib/dev/acpica/components/resources/rscreate.c b/sys/contrib/dev/acpica/components/resources/rscreate.c
index 86c10aa..b599666 100644
--- a/sys/contrib/dev/acpica/components/resources/rscreate.c
+++ b/sys/contrib/dev/acpica/components/resources/rscreate.c
@@ -297,16 +297,6 @@ AcpiRsCreatePciRoutingTable (
*/
UserPrt->Length = (sizeof (ACPI_PCI_ROUTING_TABLE) - 4);
- /* Each element of the top-level package must also be a package */
-
- if ((*TopObjectList)->Common.Type != ACPI_TYPE_PACKAGE)
- {
- ACPI_ERROR ((AE_INFO,
- "(PRT[%u]) Need sub-package, found %s",
- Index, AcpiUtGetObjectTypeName (*TopObjectList)));
- return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
- }
-
/* Each sub-package must be of length 4 */
if ((*TopObjectList)->Package.Count != 4)
@@ -349,23 +339,6 @@ AcpiRsCreatePciRoutingTable (
UserPrt->Pin = (UINT32) ObjDesc->Integer.Value;
/*
- * If the BIOS has erroneously reversed the _PRT SourceName (index 2)
- * and the SourceIndex (index 3), fix it. _PRT is important enough to
- * workaround this BIOS error. This also provides compatibility with
- * other ACPI implementations.
- */
- ObjDesc = SubObjectList[3];
- if (!ObjDesc || (ObjDesc->Common.Type != ACPI_TYPE_INTEGER))
- {
- SubObjectList[3] = SubObjectList[2];
- SubObjectList[2] = ObjDesc;
-
- ACPI_WARNING ((AE_INFO,
- "(PRT[%X].Source) SourceName and SourceIndex are reversed, fixed",
- Index));
- }
-
- /*
* 3) Third subobject: Dereference the PRT.SourceName
* The name may be unresolved (slack mode), so allow a null object
*/
@@ -400,7 +373,6 @@ AcpiRsCreatePciRoutingTable (
UserPrt->Length += (UINT32) ACPI_STRLEN (UserPrt->Source) + 1;
break;
-
case ACPI_TYPE_STRING:
ACPI_STRCPY (UserPrt->Source, ObjDesc->String.Pointer);
@@ -412,7 +384,6 @@ AcpiRsCreatePciRoutingTable (
UserPrt->Length += ObjDesc->String.Length + 1;
break;
-
case ACPI_TYPE_INTEGER:
/*
* If this is a number, then the Source Name is NULL, since the
@@ -423,7 +394,6 @@ AcpiRsCreatePciRoutingTable (
UserPrt->Length += sizeof (UINT32);
break;
-
default:
ACPI_ERROR ((AE_INFO,
diff --git a/sys/contrib/dev/acpica/components/resources/rsdump.c b/sys/contrib/dev/acpica/components/resources/rsdump.c
index e89f467..81c248c 100644
--- a/sys/contrib/dev/acpica/components/resources/rsdump.c
+++ b/sys/contrib/dev/acpica/components/resources/rsdump.c
@@ -168,16 +168,19 @@ AcpiRsDumpDescriptor (
/* Strings */
case ACPI_RSD_LITERAL:
+
AcpiRsOutString (Name, ACPI_CAST_PTR (char, Table->Pointer));
break;
case ACPI_RSD_STRING:
+
AcpiRsOutString (Name, ACPI_CAST_PTR (char, Target));
break;
/* Data items, 8/16/32/64 bit */
case ACPI_RSD_UINT8:
+
if (Table->Pointer)
{
AcpiRsOutString (Name, ACPI_CAST_PTR (char,
@@ -190,30 +193,36 @@ AcpiRsDumpDescriptor (
break;
case ACPI_RSD_UINT16:
+
AcpiRsOutInteger16 (Name, ACPI_GET16 (Target));
break;
case ACPI_RSD_UINT32:
+
AcpiRsOutInteger32 (Name, ACPI_GET32 (Target));
break;
case ACPI_RSD_UINT64:
+
AcpiRsOutInteger64 (Name, ACPI_GET64 (Target));
break;
/* Flags: 1-bit and 2-bit flags supported */
case ACPI_RSD_1BITFLAG:
+
AcpiRsOutString (Name, ACPI_CAST_PTR (char,
Table->Pointer [*Target & 0x01]));
break;
case ACPI_RSD_2BITFLAG:
+
AcpiRsOutString (Name, ACPI_CAST_PTR (char,
Table->Pointer [*Target & 0x03]));
break;
case ACPI_RSD_3BITFLAG:
+
AcpiRsOutString (Name, ACPI_CAST_PTR (char,
Table->Pointer [*Target & 0x07]));
break;
@@ -293,6 +302,7 @@ AcpiRsDumpDescriptor (
break;
default:
+
AcpiOsPrintf ("**** Invalid table opcode [%X] ****\n",
Table->Opcode);
return;
diff --git a/sys/contrib/dev/acpica/components/resources/rsmisc.c b/sys/contrib/dev/acpica/components/resources/rsmisc.c
index c0687ca..e895add 100644
--- a/sys/contrib/dev/acpica/components/resources/rsmisc.c
+++ b/sys/contrib/dev/acpica/components/resources/rsmisc.c
@@ -137,17 +137,14 @@ AcpiRsConvertAmlToResource (
Resource->Length = INIT_RESOURCE_LENGTH (Info);
break;
-
case ACPI_RSC_INITSET:
break;
-
case ACPI_RSC_FLAGINIT:
FlagsMode = TRUE;
break;
-
case ACPI_RSC_1BITFLAG:
/*
* Mask and shift the flag bit
@@ -156,7 +153,6 @@ AcpiRsConvertAmlToResource (
((ACPI_GET8 (Source) >> Info->Value) & 0x01));
break;
-
case ACPI_RSC_2BITFLAG:
/*
* Mask and shift the flag bits
@@ -165,7 +161,6 @@ AcpiRsConvertAmlToResource (
((ACPI_GET8 (Source) >> Info->Value) & 0x03));
break;
-
case ACPI_RSC_3BITFLAG:
/*
* Mask and shift the flag bits
@@ -174,7 +169,6 @@ AcpiRsConvertAmlToResource (
((ACPI_GET8 (Source) >> Info->Value) & 0x07));
break;
-
case ACPI_RSC_COUNT:
ItemCount = ACPI_GET8 (Source);
@@ -184,7 +178,6 @@ AcpiRsConvertAmlToResource (
(Info->Value * (ItemCount - 1));
break;
-
case ACPI_RSC_COUNT16:
ItemCount = AmlResourceLength;
@@ -194,7 +187,6 @@ AcpiRsConvertAmlToResource (
(Info->Value * (ItemCount - 1));
break;
-
case ACPI_RSC_COUNT_GPIO_PIN:
Target = ACPI_ADD_PTR (void, Aml, Info->Value);
@@ -205,7 +197,6 @@ AcpiRsConvertAmlToResource (
ACPI_SET16 (Destination, ItemCount);
break;
-
case ACPI_RSC_COUNT_GPIO_VEN:
ItemCount = ACPI_GET8 (Source);
@@ -215,9 +206,7 @@ AcpiRsConvertAmlToResource (
(Info->Value * ItemCount);
break;
-
case ACPI_RSC_COUNT_GPIO_RES:
-
/*
* Vendor data is optional (length/offset may both be zero)
* Examine vendor data length field first
@@ -243,7 +232,6 @@ AcpiRsConvertAmlToResource (
ACPI_SET16 (Destination, ItemCount);
break;
-
case ACPI_RSC_COUNT_SERIAL_VEN:
ItemCount = ACPI_GET16 (Source) - Info->Value;
@@ -252,7 +240,6 @@ AcpiRsConvertAmlToResource (
ACPI_SET16 (Destination, ItemCount);
break;
-
case ACPI_RSC_COUNT_SERIAL_RES:
ItemCount = (AmlResourceLength +
@@ -263,13 +250,11 @@ AcpiRsConvertAmlToResource (
ACPI_SET16 (Destination, ItemCount);
break;
-
case ACPI_RSC_LENGTH:
Resource->Length = Resource->Length + Info->Value;
break;
-
case ACPI_RSC_MOVE8:
case ACPI_RSC_MOVE16:
case ACPI_RSC_MOVE32:
@@ -285,7 +270,6 @@ AcpiRsConvertAmlToResource (
AcpiRsMoveData (Destination, Source, ItemCount, Info->Opcode);
break;
-
case ACPI_RSC_MOVE_GPIO_PIN:
/* Generate and set the PIN data pointer */
@@ -300,7 +284,6 @@ AcpiRsConvertAmlToResource (
AcpiRsMoveData (Target, Source, ItemCount, Info->Opcode);
break;
-
case ACPI_RSC_MOVE_GPIO_RES:
/* Generate and set the ResourceSource string pointer */
@@ -315,7 +298,6 @@ AcpiRsConvertAmlToResource (
AcpiRsMoveData (Target, Source, ItemCount, Info->Opcode);
break;
-
case ACPI_RSC_MOVE_SERIAL_VEN:
/* Generate and set the Vendor Data pointer */
@@ -330,7 +312,6 @@ AcpiRsConvertAmlToResource (
AcpiRsMoveData (Target, Source, ItemCount, Info->Opcode);
break;
-
case ACPI_RSC_MOVE_SERIAL_RES:
/* Generate and set the ResourceSource string pointer */
@@ -345,20 +326,17 @@ AcpiRsConvertAmlToResource (
AcpiRsMoveData (Target, Source, ItemCount, Info->Opcode);
break;
-
case ACPI_RSC_SET8:
ACPI_MEMSET (Destination, Info->AmlOffset, Info->Value);
break;
-
case ACPI_RSC_DATA8:
Target = ACPI_ADD_PTR (char, Resource, Info->Value);
ACPI_MEMCPY (Destination, Source, ACPI_GET16 (Target));
break;
-
case ACPI_RSC_ADDRESS:
/*
* Common handler for address descriptor flags
@@ -369,7 +347,6 @@ AcpiRsConvertAmlToResource (
}
break;
-
case ACPI_RSC_SOURCE:
/*
* Optional ResourceSource (Index and String)
@@ -379,7 +356,6 @@ AcpiRsConvertAmlToResource (
Destination, Aml, NULL);
break;
-
case ACPI_RSC_SOURCEX:
/*
* Optional ResourceSource (Index and String). This is the more
@@ -394,7 +370,6 @@ AcpiRsConvertAmlToResource (
Destination, Aml, Target);
break;
-
case ACPI_RSC_BITMASK:
/*
* 8-bit encoded bitmask (DMA macro)
@@ -409,7 +384,6 @@ AcpiRsConvertAmlToResource (
ACPI_SET8 (Target, ItemCount);
break;
-
case ACPI_RSC_BITMASK16:
/*
* 16-bit encoded bitmask (IRQ macro)
@@ -426,7 +400,6 @@ AcpiRsConvertAmlToResource (
ACPI_SET8 (Target, ItemCount);
break;
-
case ACPI_RSC_EXIT_NE:
/*
* Control - Exit conversion if not equal
@@ -434,6 +407,7 @@ AcpiRsConvertAmlToResource (
switch (Info->ResourceOffset)
{
case ACPI_RSC_COMPARE_AML_LENGTH:
+
if (AmlResourceLength != Info->Value)
{
goto Exit;
@@ -441,6 +415,7 @@ AcpiRsConvertAmlToResource (
break;
case ACPI_RSC_COMPARE_VALUE:
+
if (ACPI_GET8 (Source) != Info->Value)
{
goto Exit;
@@ -454,7 +429,6 @@ AcpiRsConvertAmlToResource (
}
break;
-
default:
ACPI_ERROR ((AE_INFO, "Invalid conversion opcode"));
@@ -538,11 +512,9 @@ AcpiRsConvertResourceToAml (
AcpiRsSetResourceHeader (INIT_RESOURCE_TYPE (Info), AmlLength, Aml);
break;
-
case ACPI_RSC_INITGET:
break;
-
case ACPI_RSC_FLAGINIT:
/*
* Clear the flag byte
@@ -550,7 +522,6 @@ AcpiRsConvertResourceToAml (
ACPI_SET8 (Destination, 0);
break;
-
case ACPI_RSC_1BITFLAG:
/*
* Mask and shift the flag bit
@@ -559,7 +530,6 @@ AcpiRsConvertResourceToAml (
((ACPI_GET8 (Source) & 0x01) << Info->Value));
break;
-
case ACPI_RSC_2BITFLAG:
/*
* Mask and shift the flag bits
@@ -568,7 +538,6 @@ AcpiRsConvertResourceToAml (
((ACPI_GET8 (Source) & 0x03) << Info->Value));
break;
-
case ACPI_RSC_3BITFLAG:
/*
* Mask and shift the flag bits
@@ -577,7 +546,6 @@ AcpiRsConvertResourceToAml (
((ACPI_GET8 (Source) & 0x07) << Info->Value));
break;
-
case ACPI_RSC_COUNT:
ItemCount = ACPI_GET8 (Source);
@@ -586,7 +554,6 @@ AcpiRsConvertResourceToAml (
AmlLength = (UINT16) (AmlLength + (Info->Value * (ItemCount - 1)));
break;
-
case ACPI_RSC_COUNT16:
ItemCount = ACPI_GET16 (Source);
@@ -594,7 +561,6 @@ AcpiRsConvertResourceToAml (
AcpiRsSetResourceLength (AmlLength, Aml);
break;
-
case ACPI_RSC_COUNT_GPIO_PIN:
ItemCount = ACPI_GET16 (Source);
@@ -606,7 +572,6 @@ AcpiRsConvertResourceToAml (
AcpiRsSetResourceLength (AmlLength, Aml);
break;
-
case ACPI_RSC_COUNT_GPIO_VEN:
ItemCount = ACPI_GET16 (Source);
@@ -616,7 +581,6 @@ AcpiRsConvertResourceToAml (
AcpiRsSetResourceLength (AmlLength, Aml);
break;
-
case ACPI_RSC_COUNT_GPIO_RES:
/* Set resource source string length */
@@ -639,7 +603,6 @@ AcpiRsConvertResourceToAml (
AcpiRsSetResourceLength (AmlLength, Aml);
break;
-
case ACPI_RSC_COUNT_SERIAL_VEN:
ItemCount = ACPI_GET16 (Source);
@@ -648,7 +611,6 @@ AcpiRsConvertResourceToAml (
AcpiRsSetResourceLength (AmlLength, Aml);
break;
-
case ACPI_RSC_COUNT_SERIAL_RES:
ItemCount = ACPI_GET16 (Source);
@@ -656,13 +618,11 @@ AcpiRsConvertResourceToAml (
AcpiRsSetResourceLength (AmlLength, Aml);
break;
-
case ACPI_RSC_LENGTH:
AcpiRsSetResourceLength (Info->Value, Aml);
break;
-
case ACPI_RSC_MOVE8:
case ACPI_RSC_MOVE16:
case ACPI_RSC_MOVE32:
@@ -675,7 +635,6 @@ AcpiRsConvertResourceToAml (
AcpiRsMoveData (Destination, Source, ItemCount, Info->Opcode);
break;
-
case ACPI_RSC_MOVE_GPIO_PIN:
Destination = (char *) ACPI_ADD_PTR (void, Aml,
@@ -684,7 +643,6 @@ AcpiRsConvertResourceToAml (
AcpiRsMoveData (Destination, Source, ItemCount, Info->Opcode);
break;
-
case ACPI_RSC_MOVE_GPIO_RES:
/* Used for both ResourceSource string and VendorData */
@@ -695,7 +653,6 @@ AcpiRsConvertResourceToAml (
AcpiRsMoveData (Destination, Source, ItemCount, Info->Opcode);
break;
-
case ACPI_RSC_MOVE_SERIAL_VEN:
Destination = (char *) ACPI_ADD_PTR (void, Aml,
@@ -704,7 +661,6 @@ AcpiRsConvertResourceToAml (
AcpiRsMoveData (Destination, Source, ItemCount, Info->Opcode);
break;
-
case ACPI_RSC_MOVE_SERIAL_RES:
Destination = (char *) ACPI_ADD_PTR (void, Aml,
@@ -713,7 +669,6 @@ AcpiRsConvertResourceToAml (
AcpiRsMoveData (Destination, Source, ItemCount, Info->Opcode);
break;
-
case ACPI_RSC_ADDRESS:
/* Set the Resource Type, General Flags, and Type-Specific Flags */
@@ -721,7 +676,6 @@ AcpiRsConvertResourceToAml (
AcpiRsSetAddressCommon (Aml, Resource);
break;
-
case ACPI_RSC_SOURCEX:
/*
* Optional ResourceSource (Index and String)
@@ -731,7 +685,6 @@ AcpiRsConvertResourceToAml (
AcpiRsSetResourceLength (AmlLength, Aml);
break;
-
case ACPI_RSC_SOURCE:
/*
* Optional ResourceSource (Index and String). This is the more
@@ -741,7 +694,6 @@ AcpiRsConvertResourceToAml (
AcpiRsSetResourceLength (AmlLength, Aml);
break;
-
case ACPI_RSC_BITMASK:
/*
* 8-bit encoded bitmask (DMA macro)
@@ -751,7 +703,6 @@ AcpiRsConvertResourceToAml (
*ACPI_ADD_PTR (UINT8, Resource, Info->Value)));
break;
-
case ACPI_RSC_BITMASK16:
/*
* 16-bit encoded bitmask (IRQ macro)
@@ -761,7 +712,6 @@ AcpiRsConvertResourceToAml (
ACPI_MOVE_16_TO_16 (Destination, &Temp16);
break;
-
case ACPI_RSC_EXIT_LE:
/*
* Control - Exit conversion if less than or equal
@@ -772,7 +722,6 @@ AcpiRsConvertResourceToAml (
}
break;
-
case ACPI_RSC_EXIT_NE:
/*
* Control - Exit conversion if not equal
@@ -795,7 +744,6 @@ AcpiRsConvertResourceToAml (
}
break;
-
case ACPI_RSC_EXIT_EQ:
/*
* Control - Exit conversion if equal
@@ -807,7 +755,6 @@ AcpiRsConvertResourceToAml (
}
break;
-
default:
ACPI_ERROR ((AE_INFO, "Invalid conversion opcode"));
diff --git a/sys/contrib/dev/acpica/components/resources/rsutils.c b/sys/contrib/dev/acpica/components/resources/rsutils.c
index b9ef66a..57f2e6e 100644
--- a/sys/contrib/dev/acpica/components/resources/rsutils.c
+++ b/sys/contrib/dev/acpica/components/resources/rsutils.c
@@ -176,6 +176,7 @@ AcpiRsMoveData (
case ACPI_RSC_MOVE_GPIO_RES:
case ACPI_RSC_MOVE_SERIAL_VEN:
case ACPI_RSC_MOVE_SERIAL_RES:
+
ACPI_MEMCPY (Destination, Source, ItemCount);
return;
@@ -186,21 +187,25 @@ AcpiRsMoveData (
*/
case ACPI_RSC_MOVE16:
case ACPI_RSC_MOVE_GPIO_PIN:
+
ACPI_MOVE_16_TO_16 (&ACPI_CAST_PTR (UINT16, Destination)[i],
&ACPI_CAST_PTR (UINT16, Source)[i]);
break;
case ACPI_RSC_MOVE32:
+
ACPI_MOVE_32_TO_32 (&ACPI_CAST_PTR (UINT32, Destination)[i],
&ACPI_CAST_PTR (UINT32, Source)[i]);
break;
case ACPI_RSC_MOVE64:
+
ACPI_MOVE_64_TO_64 (&ACPI_CAST_PTR (UINT64, Destination)[i],
&ACPI_CAST_PTR (UINT64, Source)[i]);
break;
default:
+
return;
}
}
diff --git a/sys/contrib/dev/acpica/components/resources/rsxface.c b/sys/contrib/dev/acpica/components/resources/rsxface.c
index 557fa2f..b2ff381 100644
--- a/sys/contrib/dev/acpica/components/resources/rsxface.c
+++ b/sys/contrib/dev/acpica/components/resources/rsxface.c
@@ -452,6 +452,7 @@ AcpiResourceToAddress64 (
break;
default:
+
return (AE_BAD_PARAMETER);
}
OpenPOWER on IntegriCloud