Print this page
acpica-unix2-20130823
PANKOVs restructure

@@ -3,11 +3,11 @@
  * Module Name: dsobject - Dispatcher object management routines
  *
  *****************************************************************************/
 
 /*
- * Copyright (C) 2000 - 2011, Intel Corp.
+ * Copyright (C) 2000 - 2013, Intel Corp.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:

@@ -539,11 +539,11 @@
             i++;
             Arg = Arg->Common.Next;
         }
 
         ACPI_INFO ((AE_INFO,
-            "Actual Package length (%u) is larger than NumElements field (%u), truncated\n",
+            "Actual Package length (%u) is larger than NumElements field (%u), truncated",
             i, ElementCount));
     }
     else if (i < ElementCount)
     {
         /*

@@ -675,33 +675,29 @@
     /* Perform per-object initialization */
 
     switch (ObjDesc->Common.Type)
     {
     case ACPI_TYPE_BUFFER:
-
         /*
          * Defer evaluation of Buffer TermArg operand
          */
         ObjDesc->Buffer.Node      = ACPI_CAST_PTR (ACPI_NAMESPACE_NODE,
                                         WalkState->Operands[0]);
         ObjDesc->Buffer.AmlStart  = Op->Named.Data;
         ObjDesc->Buffer.AmlLength = Op->Named.Length;
         break;
 
-
     case ACPI_TYPE_PACKAGE:
-
         /*
          * Defer evaluation of Package TermArg operand
          */
         ObjDesc->Package.Node      = ACPI_CAST_PTR (ACPI_NAMESPACE_NODE,
                                         WalkState->Operands[0]);
         ObjDesc->Package.AmlStart  = Op->Named.Data;
         ObjDesc->Package.AmlLength = Op->Named.Length;
         break;
 
-
     case ACPI_TYPE_INTEGER:
 
         switch (OpInfo->Type)
         {
         case AML_TYPE_CONSTANT:

@@ -732,11 +728,11 @@
                 ObjDesc->Integer.Value = ACPI_UINT64_MAX;
 
                 /* Truncate value if we are executing from a 32-bit ACPI table */
 
 #ifndef ACPI_NO_METHOD_EXECUTION
-                AcpiExTruncateFor32bitTable (ObjDesc);
+                (void) AcpiExTruncateFor32bitTable (ObjDesc);
 #endif
                 break;
 
             case AML_REVISION_OP:
 

@@ -750,29 +746,36 @@
                 Status = AE_AML_OPERAND_TYPE;
                 break;
             }
             break;
 
-
         case AML_TYPE_LITERAL:
 
             ObjDesc->Integer.Value = Op->Common.Value.Integer;
+
 #ifndef ACPI_NO_METHOD_EXECUTION
-            AcpiExTruncateFor32bitTable (ObjDesc);
+            if (AcpiExTruncateFor32bitTable (ObjDesc))
+            {
+                /* Warn if we found a 64-bit constant in a 32-bit table */
+
+                ACPI_WARNING ((AE_INFO,
+                    "Truncated 64-bit constant found in 32-bit table: %8.8X%8.8X => %8.8X",
+                    ACPI_FORMAT_UINT64 (Op->Common.Value.Integer),
+                    (UINT32) ObjDesc->Integer.Value));
+            }
 #endif
             break;
 
-
         default:
+
             ACPI_ERROR ((AE_INFO, "Unknown Integer type 0x%X",
                 OpInfo->Type));
             Status = AE_AML_OPERAND_TYPE;
             break;
         }
         break;
 
-
     case ACPI_TYPE_STRING:
 
         ObjDesc->String.Pointer = Op->Common.Value.String;
         ObjDesc->String.Length = (UINT32) ACPI_STRLEN (Op->Common.Value.String);
 

@@ -781,15 +784,13 @@
          * to delete it
          */
         ObjDesc->Common.Flags |= AOPOBJ_STATIC_POINTER;
         break;
 
-
     case ACPI_TYPE_METHOD:
         break;
 
-
     case ACPI_TYPE_LOCAL_REFERENCE:
 
         switch (OpInfo->Type)
         {
         case AML_TYPE_LOCAL_VARIABLE:

@@ -805,11 +806,10 @@
                         ACPI_CAST_INDIRECT_PTR (ACPI_NAMESPACE_NODE,
                             &ObjDesc->Reference.Object));
 #endif
             break;
 
-
         case AML_TYPE_METHOD_ARGUMENT:
 
             /* Arg ID (0-6) is (AML opcode - base AML_ARG_OP) */
 
             ObjDesc->Reference.Value = ((UINT32) Opcode) - AML_ARG_OP;

@@ -849,11 +849,10 @@
             }
             break;
         }
         break;
 
-
     default:
 
         ACPI_ERROR ((AE_INFO, "Unimplemented data type: 0x%X",
             ObjDesc->Common.Type));
 

@@ -861,7 +860,5 @@
         break;
     }
 
     return_ACPI_STATUS (Status);
 }
-
-