diff options
Diffstat (limited to 'usr/src/uts/intel/io/acpica/resources')
| -rw-r--r-- | usr/src/uts/intel/io/acpica/resources/rsaddr.c | 4 | ||||
| -rw-r--r-- | usr/src/uts/intel/io/acpica/resources/rscalc.c | 38 | ||||
| -rw-r--r-- | usr/src/uts/intel/io/acpica/resources/rscreate.c | 65 | ||||
| -rw-r--r-- | usr/src/uts/intel/io/acpica/resources/rsdump.c | 10 | ||||
| -rw-r--r-- | usr/src/uts/intel/io/acpica/resources/rsinfo.c | 4 | ||||
| -rw-r--r-- | usr/src/uts/intel/io/acpica/resources/rsio.c | 43 | ||||
| -rw-r--r-- | usr/src/uts/intel/io/acpica/resources/rsirq.c | 47 | ||||
| -rw-r--r-- | usr/src/uts/intel/io/acpica/resources/rslist.c | 4 | ||||
| -rw-r--r-- | usr/src/uts/intel/io/acpica/resources/rsmemory.c | 4 | ||||
| -rw-r--r-- | usr/src/uts/intel/io/acpica/resources/rsmisc.c | 18 | ||||
| -rw-r--r-- | usr/src/uts/intel/io/acpica/resources/rsutils.c | 15 | ||||
| -rw-r--r-- | usr/src/uts/intel/io/acpica/resources/rsxface.c | 4 |
12 files changed, 186 insertions, 70 deletions
diff --git a/usr/src/uts/intel/io/acpica/resources/rsaddr.c b/usr/src/uts/intel/io/acpica/resources/rsaddr.c index 5172e77f1b..a51156e608 100644 --- a/usr/src/uts/intel/io/acpica/resources/rsaddr.c +++ b/usr/src/uts/intel/io/acpica/resources/rsaddr.c @@ -1,7 +1,7 @@ /******************************************************************************* * * Module Name: rsaddr - Address resource descriptors (16/32/64) - * $Revision: 1.49 $ + * $Revision: 1.51 $ * ******************************************************************************/ @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2006, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2008, Intel Corp. * All rights reserved. * * 2. License diff --git a/usr/src/uts/intel/io/acpica/resources/rscalc.c b/usr/src/uts/intel/io/acpica/resources/rscalc.c index 97fd5a3e71..cb8973a7ee 100644 --- a/usr/src/uts/intel/io/acpica/resources/rscalc.c +++ b/usr/src/uts/intel/io/acpica/resources/rscalc.c @@ -1,7 +1,7 @@ /******************************************************************************* * * Module Name: rscalc - Calculate stream and list lengths - * $Revision: 1.79 $ + * $Revision: 1.84 $ * ******************************************************************************/ @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2006, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2008, Intel Corp. * All rights reserved. * * 2. License @@ -118,9 +118,9 @@ #include "acpi.h" #include "acresrc.h" -#include "amlcode.h" #include "acnamesp.h" + #define _COMPONENT ACPI_RESOURCES ACPI_MODULE_NAME ("rscalc") @@ -168,7 +168,7 @@ AcpiRsCountSetBits ( { /* Zero the least significant bit that is set */ - BitField &= (BitField - 1); + BitField &= (UINT16) (BitField - 1); } return (BitsSet); @@ -312,6 +312,28 @@ AcpiRsGetAmlLength ( */ switch (Resource->Type) { + case ACPI_RESOURCE_TYPE_IRQ: + + /* Length can be 3 or 2 */ + + if (Resource->Data.Irq.DescriptorLength == 2) + { + TotalSize--; + } + break; + + + case ACPI_RESOURCE_TYPE_START_DEPENDENT: + + /* Length can be 1 or 0 */ + + if (Resource->Data.Irq.DescriptorLength == 0) + { + TotalSize--; + } + break; + + case ACPI_RESOURCE_TYPE_VENDOR: /* * Vendor Defined Resource: @@ -654,8 +676,8 @@ AcpiRsGetPciRoutingTableLength ( ((ACPI_TYPE_LOCAL_REFERENCE == ACPI_GET_OBJECT_TYPE (*SubObjectList)) && - ((*SubObjectList)->Reference.Opcode == - AML_INT_NAMEPATH_OP)))) + ((*SubObjectList)->Reference.Class == + ACPI_REFCLASS_NAME)))) { NameFound = TRUE; } @@ -686,6 +708,10 @@ AcpiRsGetPciRoutingTableLength ( { TempSizeNeeded += AcpiNsGetPathnameLength ( (*SubObjectList)->Reference.Node); + if (!TempSizeNeeded) + { + return_ACPI_STATUS (AE_BAD_PARAMETER); + } } } else diff --git a/usr/src/uts/intel/io/acpica/resources/rscreate.c b/usr/src/uts/intel/io/acpica/resources/rscreate.c index 1cb836adc7..9665fbadd6 100644 --- a/usr/src/uts/intel/io/acpica/resources/rscreate.c +++ b/usr/src/uts/intel/io/acpica/resources/rscreate.c @@ -1,7 +1,7 @@ /******************************************************************************* * * Module Name: rscreate - Create resource lists/tables - * $Revision: 1.77 $ + * $Revision: 1.79 $ * ******************************************************************************/ @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2006, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2008, Intel Corp. * All rights reserved. * * 2. License @@ -114,12 +114,10 @@ * *****************************************************************************/ - #define __RSCREATE_C__ #include "acpi.h" #include "acresrc.h" -#include "amlcode.h" #include "acnamesp.h" #define _COMPONENT ACPI_RESOURCES @@ -271,9 +269,9 @@ AcpiRsCreatePciRoutingTable ( } /* - * Loop through the ACPI_INTERNAL_OBJECTS - Each object - * should be a package that in turn contains an - * ACPI_INTEGER Address, a UINT8 Pin, a Name and a UINT8 SourceIndex. + * Loop through the ACPI_INTERNAL_OBJECTS - Each object should be a + * package that in turn contains an ACPI_INTEGER Address, a UINT8 Pin, + * a Name, and a UINT8 SourceIndex. */ TopObjectList = PackageObject->Package.Elements; NumberOfElements = PackageObject->Package.Count; @@ -328,33 +326,44 @@ AcpiRsCreatePciRoutingTable ( /* 1) First subobject: Dereference the PRT.Address */ ObjDesc = SubObjectList[0]; - if (ACPI_GET_OBJECT_TYPE (ObjDesc) == ACPI_TYPE_INTEGER) - { - UserPrt->Address = ObjDesc->Integer.Value; - } - else + if (ACPI_GET_OBJECT_TYPE (ObjDesc) != ACPI_TYPE_INTEGER) { - ACPI_ERROR ((AE_INFO, - "(PRT[%X].Address) Need Integer, found %s", + ACPI_ERROR ((AE_INFO, "(PRT[%X].Address) Need Integer, found %s", Index, AcpiUtGetObjectTypeName (ObjDesc))); return_ACPI_STATUS (AE_BAD_DATA); } + UserPrt->Address = ObjDesc->Integer.Value; + /* 2) Second subobject: Dereference the PRT.Pin */ ObjDesc = SubObjectList[1]; - if (ACPI_GET_OBJECT_TYPE (ObjDesc) == ACPI_TYPE_INTEGER) + if (ACPI_GET_OBJECT_TYPE (ObjDesc) != ACPI_TYPE_INTEGER) { - UserPrt->Pin = (UINT32) ObjDesc->Integer.Value; - } - else - { - ACPI_ERROR ((AE_INFO, - "(PRT[%X].Pin) Need Integer, found %s", + ACPI_ERROR ((AE_INFO, "(PRT[%X].Pin) Need Integer, found %s", Index, AcpiUtGetObjectTypeName (ObjDesc))); return_ACPI_STATUS (AE_BAD_DATA); } + 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 || (ACPI_GET_OBJECT_TYPE (ObjDesc) != 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 @@ -366,11 +375,11 @@ AcpiRsCreatePciRoutingTable ( { case ACPI_TYPE_LOCAL_REFERENCE: - if (ObjDesc->Reference.Opcode != AML_INT_NAMEPATH_OP) + if (ObjDesc->Reference.Class != ACPI_REFCLASS_NAME) { ACPI_ERROR ((AE_INFO, - "(PRT[%X].Source) Need name, found reference op %X", - Index, ObjDesc->Reference.Opcode)); + "(PRT[%X].Source) Need name, found Reference Class %X", + Index, ObjDesc->Reference.Class)); return_ACPI_STATUS (AE_BAD_DATA); } @@ -430,11 +439,7 @@ AcpiRsCreatePciRoutingTable ( /* 4) Fourth subobject: Dereference the PRT.SourceIndex */ ObjDesc = SubObjectList[3]; - if (ACPI_GET_OBJECT_TYPE (ObjDesc) == ACPI_TYPE_INTEGER) - { - UserPrt->SourceIndex = (UINT32) ObjDesc->Integer.Value; - } - else + if (ACPI_GET_OBJECT_TYPE (ObjDesc) != ACPI_TYPE_INTEGER) { ACPI_ERROR ((AE_INFO, "(PRT[%X].SourceIndex) Need Integer, found %s", @@ -442,6 +447,8 @@ AcpiRsCreatePciRoutingTable ( return_ACPI_STATUS (AE_BAD_DATA); } + UserPrt->SourceIndex = (UINT32) ObjDesc->Integer.Value; + /* Point to the next ACPI_OPERAND_OBJECT in the top level package */ TopObjectList++; diff --git a/usr/src/uts/intel/io/acpica/resources/rsdump.c b/usr/src/uts/intel/io/acpica/resources/rsdump.c index 1f90cf7b42..a6784d2a8d 100644 --- a/usr/src/uts/intel/io/acpica/resources/rsdump.c +++ b/usr/src/uts/intel/io/acpica/resources/rsdump.c @@ -1,7 +1,7 @@ /******************************************************************************* * * Module Name: rsdump - Functions to display the resource structures. - * $Revision: 1.61 $ + * $Revision: 1.64 $ * ******************************************************************************/ @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2006, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2008, Intel Corp. * All rights reserved. * * 2. License @@ -200,9 +200,10 @@ AcpiRsDumpDescriptor ( * ******************************************************************************/ -ACPI_RSDUMP_INFO AcpiRsDumpIrq[6] = +ACPI_RSDUMP_INFO AcpiRsDumpIrq[7] = { {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpIrq), "IRQ", NULL}, + {ACPI_RSD_UINT8 , ACPI_RSD_OFFSET (Irq.DescriptorLength), "Descriptor Length", NULL}, {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Irq.Triggering), "Triggering", AcpiGbl_HeDecode}, {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Irq.Polarity), "Polarity", AcpiGbl_LlDecode}, {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Irq.Sharable), "Sharing", AcpiGbl_ShrDecode}, @@ -220,9 +221,10 @@ ACPI_RSDUMP_INFO AcpiRsDumpDma[6] = {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Dma.Channels[0]), "Channel List", NULL} }; -ACPI_RSDUMP_INFO AcpiRsDumpStartDpf[3] = +ACPI_RSDUMP_INFO AcpiRsDumpStartDpf[4] = { {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpStartDpf), "Start-Dependent-Functions",NULL}, + {ACPI_RSD_UINT8 , ACPI_RSD_OFFSET (StartDpf.DescriptorLength), "Descriptor Length", NULL}, {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (StartDpf.CompatibilityPriority), "Compatibility Priority", AcpiGbl_ConfigDecode}, {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (StartDpf.PerformanceRobustness), "Performance/Robustness", AcpiGbl_ConfigDecode} }; diff --git a/usr/src/uts/intel/io/acpica/resources/rsinfo.c b/usr/src/uts/intel/io/acpica/resources/rsinfo.c index e731c5413c..4bab1cde3c 100644 --- a/usr/src/uts/intel/io/acpica/resources/rsinfo.c +++ b/usr/src/uts/intel/io/acpica/resources/rsinfo.c @@ -1,7 +1,7 @@ /******************************************************************************* * * Module Name: rsinfo - Dispatch and Info tables - * $Revision: 1.7 $ + * $Revision: 1.9 $ * ******************************************************************************/ @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2006, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2008, Intel Corp. * All rights reserved. * * 2. License diff --git a/usr/src/uts/intel/io/acpica/resources/rsio.c b/usr/src/uts/intel/io/acpica/resources/rsio.c index 8cbc3c06c1..7c5deea1ef 100644 --- a/usr/src/uts/intel/io/acpica/resources/rsio.c +++ b/usr/src/uts/intel/io/acpica/resources/rsio.c @@ -1,7 +1,7 @@ /******************************************************************************* * * Module Name: rsio - IO and DMA resource descriptors - * $Revision: 1.34 $ + * $Revision: 1.38 $ * ******************************************************************************/ @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2006, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2008, Intel Corp. * All rights reserved. * * 2. License @@ -272,7 +272,7 @@ ACPI_RSCONVERT_INFO AcpiRsConvertEndTag[2] = * ******************************************************************************/ -ACPI_RSCONVERT_INFO AcpiRsGetStartDpf[5] = +ACPI_RSCONVERT_INFO AcpiRsGetStartDpf[6] = { {ACPI_RSC_INITGET, ACPI_RESOURCE_TYPE_START_DEPENDENT, ACPI_RS_SIZE (ACPI_RESOURCE_START_DEPENDENT), @@ -284,6 +284,12 @@ ACPI_RSCONVERT_INFO AcpiRsGetStartDpf[5] = ACPI_ACCEPTABLE_CONFIGURATION, 2}, + /* Get the descriptor length (0 or 1 for Start Dpf descriptor) */ + + {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET (Data.StartDpf.DescriptorLength), + AML_OFFSET (StartDpf.DescriptorType), + 0}, + /* All done if there is no flag byte present in the descriptor */ {ACPI_RSC_EXIT_NE, ACPI_RSC_COMPARE_AML_LENGTH, 0, 1}, @@ -306,8 +312,10 @@ ACPI_RSCONVERT_INFO AcpiRsGetStartDpf[5] = * ******************************************************************************/ -ACPI_RSCONVERT_INFO AcpiRsSetStartDpf[6] = +ACPI_RSCONVERT_INFO AcpiRsSetStartDpf[10] = { + /* Start with a default descriptor of length 1 */ + {ACPI_RSC_INITSET, ACPI_RESOURCE_NAME_START_DEPENDENT, sizeof (AML_RESOURCE_START_DEPENDENT), ACPI_RSC_TABLE_SIZE (AcpiRsSetStartDpf)}, @@ -322,6 +330,33 @@ ACPI_RSCONVERT_INFO AcpiRsSetStartDpf[6] = AML_OFFSET (StartDpf.Flags), 2}, /* + * All done if the output descriptor length is required to be 1 + * (i.e., optimization to 0 bytes cannot be attempted) + */ + {ACPI_RSC_EXIT_EQ, ACPI_RSC_COMPARE_VALUE, + ACPI_RS_OFFSET(Data.StartDpf.DescriptorLength), + 1}, + + /* Set length to 0 bytes (no flags byte) */ + + {ACPI_RSC_LENGTH, 0, 0, sizeof (AML_RESOURCE_START_DEPENDENT_NOPRIO)}, + + /* + * All done if the output descriptor length is required to be 0. + * + * TBD: Perhaps we should check for error if input flags are not + * compatible with a 0-byte descriptor. + */ + {ACPI_RSC_EXIT_EQ, ACPI_RSC_COMPARE_VALUE, + ACPI_RS_OFFSET(Data.StartDpf.DescriptorLength), + 0}, + + /* Reset length to 1 byte (descriptor with flags byte) */ + + {ACPI_RSC_LENGTH, 0, 0, sizeof (AML_RESOURCE_START_DEPENDENT)}, + + + /* * All done if flags byte is necessary -- if either priority value * is not ACPI_ACCEPTABLE_CONFIGURATION */ diff --git a/usr/src/uts/intel/io/acpica/resources/rsirq.c b/usr/src/uts/intel/io/acpica/resources/rsirq.c index bfd15936bd..d4afc91e56 100644 --- a/usr/src/uts/intel/io/acpica/resources/rsirq.c +++ b/usr/src/uts/intel/io/acpica/resources/rsirq.c @@ -1,7 +1,7 @@ /******************************************************************************* * * Module Name: rsirq - IRQ resource descriptors - * $Revision: 1.49 $ + * $Revision: 1.52 $ * ******************************************************************************/ @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2006, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2008, Intel Corp. * All rights reserved. * * 2. License @@ -129,7 +129,7 @@ * ******************************************************************************/ -ACPI_RSCONVERT_INFO AcpiRsGetIrq[7] = +ACPI_RSCONVERT_INFO AcpiRsGetIrq[8] = { {ACPI_RSC_INITGET, ACPI_RESOURCE_TYPE_IRQ, ACPI_RS_SIZE (ACPI_RESOURCE_IRQ), @@ -147,6 +147,12 @@ ACPI_RSCONVERT_INFO AcpiRsGetIrq[7] = ACPI_EDGE_SENSITIVE, 1}, + /* Get the descriptor length (2 or 3 for IRQ descriptor) */ + + {ACPI_RSC_2BITFLAG, ACPI_RS_OFFSET (Data.Irq.DescriptorLength), + AML_OFFSET (Irq.DescriptorType), + 0}, + /* All done if no flag byte present in descriptor */ {ACPI_RSC_EXIT_NE, ACPI_RSC_COMPARE_AML_LENGTH, 0, 3}, @@ -173,8 +179,10 @@ ACPI_RSCONVERT_INFO AcpiRsGetIrq[7] = * ******************************************************************************/ -ACPI_RSCONVERT_INFO AcpiRsSetIrq[9] = +ACPI_RSCONVERT_INFO AcpiRsSetIrq[13] = { + /* Start with a default descriptor of length 3 */ + {ACPI_RSC_INITSET, ACPI_RESOURCE_NAME_IRQ, sizeof (AML_RESOURCE_IRQ), ACPI_RSC_TABLE_SIZE (AcpiRsSetIrq)}, @@ -185,7 +193,7 @@ ACPI_RSCONVERT_INFO AcpiRsSetIrq[9] = AML_OFFSET (Irq.IrqMask), ACPI_RS_OFFSET (Data.Irq.InterruptCount)}, - /* Set the flags byte by default */ + /* Set the flags byte */ {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET (Data.Irq.Triggering), AML_OFFSET (Irq.Flags), @@ -198,6 +206,33 @@ ACPI_RSCONVERT_INFO AcpiRsSetIrq[9] = {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET (Data.Irq.Sharable), AML_OFFSET (Irq.Flags), 4}, + + /* + * All done if the output descriptor length is required to be 3 + * (i.e., optimization to 2 bytes cannot be attempted) + */ + {ACPI_RSC_EXIT_EQ, ACPI_RSC_COMPARE_VALUE, + ACPI_RS_OFFSET(Data.Irq.DescriptorLength), + 3}, + + /* Set length to 2 bytes (no flags byte) */ + + {ACPI_RSC_LENGTH, 0, 0, sizeof (AML_RESOURCE_IRQ_NOFLAGS)}, + + /* + * All done if the output descriptor length is required to be 2. + * + * TBD: Perhaps we should check for error if input flags are not + * compatible with a 2-byte descriptor. + */ + {ACPI_RSC_EXIT_EQ, ACPI_RSC_COMPARE_VALUE, + ACPI_RS_OFFSET(Data.Irq.DescriptorLength), + 2}, + + /* Reset length to 3 bytes (descriptor with flags byte) */ + + {ACPI_RSC_LENGTH, 0, 0, sizeof (AML_RESOURCE_IRQ)}, + /* * Check if the flags byte is necessary. Not needed if the flags are: * ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_HIGH, ACPI_EXCLUSIVE @@ -214,7 +249,7 @@ ACPI_RSCONVERT_INFO AcpiRsSetIrq[9] = ACPI_RS_OFFSET (Data.Irq.Sharable), ACPI_EXCLUSIVE}, - /* IrqNoFlags() descriptor can be used */ + /* We can optimize to a 2-byte IrqNoFlags() descriptor */ {ACPI_RSC_LENGTH, 0, 0, sizeof (AML_RESOURCE_IRQ_NOFLAGS)} }; diff --git a/usr/src/uts/intel/io/acpica/resources/rslist.c b/usr/src/uts/intel/io/acpica/resources/rslist.c index d1d60e4630..278c38a152 100644 --- a/usr/src/uts/intel/io/acpica/resources/rslist.c +++ b/usr/src/uts/intel/io/acpica/resources/rslist.c @@ -1,7 +1,7 @@ /******************************************************************************* * * Module Name: rslist - Linked list utilities - * $Revision: 1.61 $ + * $Revision: 1.63 $ * ******************************************************************************/ @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2006, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2008, Intel Corp. * All rights reserved. * * 2. License diff --git a/usr/src/uts/intel/io/acpica/resources/rsmemory.c b/usr/src/uts/intel/io/acpica/resources/rsmemory.c index 0e0e3a8dae..08cd4aab10 100644 --- a/usr/src/uts/intel/io/acpica/resources/rsmemory.c +++ b/usr/src/uts/intel/io/acpica/resources/rsmemory.c @@ -1,7 +1,7 @@ /******************************************************************************* * * Module Name: rsmem24 - Memory resource descriptors - * $Revision: 1.33 $ + * $Revision: 1.35 $ * ******************************************************************************/ @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2006, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2008, Intel Corp. * All rights reserved. * * 2. License diff --git a/usr/src/uts/intel/io/acpica/resources/rsmisc.c b/usr/src/uts/intel/io/acpica/resources/rsmisc.c index e7da574321..2b77b91cef 100644 --- a/usr/src/uts/intel/io/acpica/resources/rsmisc.c +++ b/usr/src/uts/intel/io/acpica/resources/rsmisc.c @@ -1,7 +1,7 @@ /******************************************************************************* * * Module Name: rsmisc - Miscellaneous resource descriptors - * $Revision: 1.45 $ + * $Revision: 1.48 $ * ******************************************************************************/ @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2006, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2008, Intel Corp. * All rights reserved. * * 2. License @@ -166,7 +166,7 @@ AcpiRsConvertAmlToResource ( ACPI_FUNCTION_TRACE (RsConvertAmlToResource); - if (((ACPI_NATIVE_UINT) Resource) & 0x3) + if (((ACPI_SIZE) Resource) & 0x3) { /* Each internal resource struct is expected to be 32-bit aligned */ @@ -610,6 +610,18 @@ AcpiRsConvertResourceToAml ( break; + case ACPI_RSC_EXIT_EQ: + /* + * Control - Exit conversion if equal + */ + if (*ACPI_ADD_PTR (UINT8, Resource, + COMPARE_TARGET (Info)) == COMPARE_VALUE (Info)) + { + goto Exit; + } + break; + + default: ACPI_ERROR ((AE_INFO, "Invalid conversion opcode")); diff --git a/usr/src/uts/intel/io/acpica/resources/rsutils.c b/usr/src/uts/intel/io/acpica/resources/rsutils.c index f17c68b64f..f324a74281 100644 --- a/usr/src/uts/intel/io/acpica/resources/rsutils.c +++ b/usr/src/uts/intel/io/acpica/resources/rsutils.c @@ -1,7 +1,7 @@ /******************************************************************************* * * Module Name: rsutils - Utilities for the resource manager - * $Revision: 1.66 $ + * $Revision: 1.69 $ * ******************************************************************************/ @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2006, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2008, Intel Corp. * All rights reserved. * * 2. License @@ -144,7 +144,7 @@ AcpiRsDecodeBitmask ( UINT16 Mask, UINT8 *List) { - ACPI_NATIVE_UINT i; + UINT8 i; UINT8 BitCount; @@ -157,7 +157,7 @@ AcpiRsDecodeBitmask ( { if (Mask & 0x0001) { - List[BitCount] = (UINT8) i; + List[BitCount] = i; BitCount++; } @@ -186,7 +186,7 @@ AcpiRsEncodeBitmask ( UINT8 *List, UINT8 Count) { - ACPI_NATIVE_UINT i; + UINT32 i; UINT16 Mask; @@ -197,7 +197,7 @@ AcpiRsEncodeBitmask ( for (i = 0, Mask = 0; i < Count; i++) { - Mask |= (0x0001 << List[i]); + Mask |= (0x1 << List[i]); } return (Mask); @@ -228,7 +228,7 @@ AcpiRsMoveData ( UINT16 ItemCount, UINT8 MoveType) { - ACPI_NATIVE_UINT i; + UINT32 i; ACPI_FUNCTION_ENTRY (); @@ -824,7 +824,6 @@ AcpiRsSetSrsMethodData ( Info->PrefixNode = Node; Info->Pathname = METHOD_NAME__SRS; Info->Parameters = Args; - Info->ParameterType = ACPI_PARAM_ARGS; Info->Flags = ACPI_IGNORE_RETURN_VALUE; /* diff --git a/usr/src/uts/intel/io/acpica/resources/rsxface.c b/usr/src/uts/intel/io/acpica/resources/rsxface.c index 1ff12f34b2..c98a3b0925 100644 --- a/usr/src/uts/intel/io/acpica/resources/rsxface.c +++ b/usr/src/uts/intel/io/acpica/resources/rsxface.c @@ -1,7 +1,7 @@ /******************************************************************************* * * Module Name: rsxface - Public interfaces to the resource manager - * $Revision: 1.47 $ + * $Revision: 1.49 $ * ******************************************************************************/ @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2006, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2008, Intel Corp. * All rights reserved. * * 2. License |
