Index: sys/dev/acpi/acpica/Subsystem/acconfig.h
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/acconfig.h,v
retrieving revision 1.11
diff -u -u -p -r1.11 acconfig.h
--- sys/dev/acpi/acpica/Subsystem/acconfig.h	29 Jan 2006 03:05:46 -0000	1.11
+++ sys/dev/acpi/acpica/Subsystem/acconfig.h	8 Mar 2006 04:07:24 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Name: acconfig.h - Global configuration constants
- *       xRevision: 1.203 $
+ *       xRevision: 1.207 $
  *
  *****************************************************************************/
 
@@ -137,7 +137,7 @@
 
 /* Current ACPICA subsystem version in YYYYMMDD format */
 
-#define ACPI_CA_VERSION                 0x20060113
+#define ACPI_CA_VERSION                 0x20060217
 
 /*
  * OS name, used for the _OS object.  The _OS object is essentially obsolete,
@@ -157,7 +157,7 @@
 #define ACPI_MAX_OBJECT_CACHE_DEPTH     96          /* Interpreter operand objects */
 
 /*
- * Should the subystem abort the loading of an ACPI table if the
+ * Should the subsystem abort the loading of an ACPI table if the
  * table checksum is incorrect?
  */
 #define ACPI_CHECKSUM_ABORT             FALSE
Index: sys/dev/acpi/acpica/Subsystem/acdisasm.h
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/acdisasm.h,v
retrieving revision 1.7
diff -u -u -p -r1.7 acdisasm.h
--- sys/dev/acpi/acpica/Subsystem/acdisasm.h	29 Jan 2006 03:05:46 -0000	1.7
+++ sys/dev/acpi/acpica/Subsystem/acdisasm.h	8 Mar 2006 04:07:24 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Name: acdisasm.h - AML disassembler
- *       xRevision: 1.27 $
+ *       xRevision: 1.28 $
  *
  *****************************************************************************/
 
@@ -148,6 +148,7 @@ typedef struct acpi_op_walk_info
 {
     UINT32                  Level;
     UINT32                  BitOffset;
+    UINT32                  Flags;
     ACPI_WALK_STATE         *WalkState;
 
 } ACPI_OP_WALK_INFO;
Index: sys/dev/acpi/acpica/Subsystem/acenv.h
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/acenv.h,v
retrieving revision 1.13
diff -u -u -p -r1.13 acenv.h
--- sys/dev/acpi/acpica/Subsystem/acenv.h	29 Jan 2006 03:05:46 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/acenv.h	8 Mar 2006 04:07:24 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Name: acenv.h - Generation environment specific items
- *       xRevision: 1.120 $
+ *       xRevision: 1.122 $
  *
  *****************************************************************************/
 
@@ -223,6 +223,9 @@
 #elif defined(NETWARE)
 #include "acnetware.h"
 
+#elif defined(__sun)
+#include "acsolaris.h"
+
 #else
 
 /* All other environments */
@@ -232,13 +235,6 @@
 #define COMPILER_DEPENDENT_INT64   long long
 #define COMPILER_DEPENDENT_UINT64  unsigned long long
 
-/*
- * This macro is used to tag functions as "printf-like" because
- * some compilers can catch printf format string problems. MSVC
- * doesn't, so this is proprocessed away.
- */
-#define ACPI_PRINTF_LIKE_FUNC
-
 #endif
 
 /*
Index: sys/dev/acpi/acpica/Subsystem/acgcc.h
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/acgcc.h,v
retrieving revision 1.10
diff -u -u -p -r1.10 acgcc.h
--- sys/dev/acpi/acpica/Subsystem/acgcc.h	29 Jan 2006 03:05:46 -0000	1.10
+++ sys/dev/acpi/acpica/Subsystem/acgcc.h	8 Mar 2006 04:07:24 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Name: acgcc.h - GCC specific defines, etc.
- *       xRevision: 1.30 $
+ *       xRevision: 1.31 $
  *
  *****************************************************************************/
 
@@ -121,16 +121,19 @@
 
 #define ACPI_GET_FUNCTION_NAME          __FUNCTION__
 
-/* This macro is used to tag functions as "printf-like" because
+/*
+ * This macro is used to tag functions as "printf-like" because
  * some compilers (like GCC) can catch printf format string problems.
  */
-#define ACPI_PRINTF_LIKE_FUNC __attribute__ ((__format__ (__printf__, 6, 7)))
+#define ACPI_PRINTF_LIKE(c) __attribute__ ((__format__ (__printf__, c, c+1)))
 
-/* Some compilers complain about unused variables. Sometimes we don't want to
+/*
+ * Some compilers complain about unused variables. Sometimes we don't want to
  * use all the variables (for example, _AcpiModuleName). This allows us
  * to to tell the compiler warning in a per-variable manner that a variable
  * is unused.
  */
 #define ACPI_UNUSED_VAR __attribute__ ((unused))
 
+
 #endif /* __ACGCC_H__ */
Index: sys/dev/acpi/acpica/Subsystem/aclocal.h
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/aclocal.h,v
retrieving revision 1.12
diff -u -u -p -r1.12 aclocal.h
--- sys/dev/acpi/acpica/Subsystem/aclocal.h	29 Jan 2006 03:05:46 -0000	1.12
+++ sys/dev/acpi/acpica/Subsystem/aclocal.h	8 Mar 2006 04:07:25 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Name: aclocal.h - Internal data types used across the ACPI subsystem
- *       xRevision: 1.218 $
+ *       xRevision: 1.220 $
  *
  *****************************************************************************/
 
@@ -557,13 +557,13 @@ typedef struct acpi_field_info
 #define ACPI_CONTROL_PREDICATE_TRUE          0xC4
 
 
-#define ACPI_STATE_COMMON                  /* Two 32-bit fields and a pointer */\
-    UINT8                       DataType;           /* To differentiate various internal objs */\
+#define ACPI_STATE_COMMON   /* Two 32-bit fields and a pointer */\
+    UINT8                       DataType;   /* To differentiate various internal objs */\
     UINT8                       Flags;      \
     UINT16                      Value;      \
     UINT16                      State;      \
     UINT16                      Reserved;   \
-    void                        *Next;      \
+    void                        *Next;
 
 typedef struct acpi_common_state
 {
@@ -764,7 +764,7 @@ typedef union acpi_parse_value
     char                        AmlOpName[16])  /* Op name (debug only) */\
                                                 /* NON-DEBUG members below: */\
     ACPI_NAMESPACE_NODE         *Node;          /* For use by interpreter */\
-    ACPI_PARSE_VALUE            Value;          /* Value or args associated with the opcode */\
+    ACPI_PARSE_VALUE            Value;          /* Value or args associated with the opcode */
 
 
 #define ACPI_DASM_BUFFER        0x00
Index: sys/dev/acpi/acpica/Subsystem/acmacros.h
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/acmacros.h,v
retrieving revision 1.12
diff -u -u -p -r1.12 acmacros.h
--- sys/dev/acpi/acpica/Subsystem/acmacros.h	29 Jan 2006 03:05:46 -0000	1.12
+++ sys/dev/acpi/acpica/Subsystem/acmacros.h	8 Mar 2006 04:07:25 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Name: acmacros.h - C macros for the entire subsystem.
- *       xRevision: 1.175 $
+ *       xRevision: 1.180 $
  *
  *****************************************************************************/
 
@@ -419,26 +419,33 @@
 /*
  * Rounding macros (Power of two boundaries only)
  */
-#define ACPI_ROUND_DOWN(value,boundary)      (((ACPI_NATIVE_UINT)(value)) & (~(((ACPI_NATIVE_UINT) boundary)-1)))
-#define ACPI_ROUND_UP(value,boundary)        ((((ACPI_NATIVE_UINT)(value)) + (((ACPI_NATIVE_UINT) boundary)-1)) & (~(((ACPI_NATIVE_UINT) boundary)-1)))
+#define ACPI_ROUND_DOWN(value,boundary)     (((ACPI_NATIVE_UINT)(value)) & \
+                                                (~(((ACPI_NATIVE_UINT) boundary)-1)))
 
-#define ACPI_ROUND_DOWN_TO_32_BITS(a)        ACPI_ROUND_DOWN(a,4)
-#define ACPI_ROUND_DOWN_TO_64_BITS(a)        ACPI_ROUND_DOWN(a,8)
-#define ACPI_ROUND_DOWN_TO_NATIVE_WORD(a)    ACPI_ROUND_DOWN(a,ALIGNED_ADDRESS_BOUNDARY)
+#define ACPI_ROUND_UP(value,boundary)       ((((ACPI_NATIVE_UINT)(value)) + \
+                                                (((ACPI_NATIVE_UINT) boundary)-1)) & \
+                                                (~(((ACPI_NATIVE_UINT) boundary)-1)))
 
-#define ACPI_ROUND_UP_TO_32BITS(a)           ACPI_ROUND_UP(a,4)
-#define ACPI_ROUND_UP_TO_64BITS(a)           ACPI_ROUND_UP(a,8)
-#define ACPI_ROUND_UP_TO_NATIVE_WORD(a)      ACPI_ROUND_UP(a,ALIGNED_ADDRESS_BOUNDARY)
+/* Note: sizeof(ACPI_NATIVE_UINT) evaluates to either 2, 4, or 8 */
 
+#define ACPI_ROUND_DOWN_TO_32BIT(a)         ACPI_ROUND_DOWN(a,4)
+#define ACPI_ROUND_DOWN_TO_64BIT(a)         ACPI_ROUND_DOWN(a,8)
+#define ACPI_ROUND_DOWN_TO_NATIVE_WORD(a)   ACPI_ROUND_DOWN(a,sizeof(ACPI_NATIVE_UINT))
 
-#define ACPI_ROUND_BITS_UP_TO_BYTES(a)       ACPI_DIV_8((a) + 7)
-#define ACPI_ROUND_BITS_DOWN_TO_BYTES(a)     ACPI_DIV_8((a))
+#define ACPI_ROUND_UP_TO_32BIT(a)           ACPI_ROUND_UP(a,4)
+#define ACPI_ROUND_UP_TO_64BIT(a)           ACPI_ROUND_UP(a,8)
+#define ACPI_ROUND_UP_TO_NATIVE_WORD(a)     ACPI_ROUND_UP(a,sizeof(ACPI_NATIVE_UINT))
 
-#define ACPI_ROUND_UP_TO_1K(a)               (((a) + 1023) >> 10)
+#define ACPI_ROUND_BITS_UP_TO_BYTES(a)      ACPI_DIV_8((a) + 7)
+#define ACPI_ROUND_BITS_DOWN_TO_BYTES(a)    ACPI_DIV_8((a))
+
+#define ACPI_ROUND_UP_TO_1K(a)              (((a) + 1023) >> 10)
 
 /* Generic (non-power-of-two) rounding */
 
-#define ACPI_ROUND_UP_TO(value,boundary)     (((value) + ((boundary)-1)) / (boundary))
+#define ACPI_ROUND_UP_TO(value,boundary)    (((value) + ((boundary)-1)) / (boundary))
+
+#define ACPI_IS_MISALIGNED(value)           (((ACPI_NATIVE_UINT)value) & (sizeof(ACPI_NATIVE_UINT)-1))
 
 /*
  * Bitmask creation
@@ -446,10 +453,10 @@
  * MASK_BITS_ABOVE creates a mask starting AT the position and above
  * MASK_BITS_BELOW creates a mask starting one bit BELOW the position
  */
-#define ACPI_MASK_BITS_ABOVE(position)       (~((ACPI_INTEGER_MAX) << ((UINT32) (position))))
-#define ACPI_MASK_BITS_BELOW(position)       ((ACPI_INTEGER_MAX) << ((UINT32) (position)))
+#define ACPI_MASK_BITS_ABOVE(position)      (~((ACPI_INTEGER_MAX) << ((UINT32) (position))))
+#define ACPI_MASK_BITS_BELOW(position)      ((ACPI_INTEGER_MAX) << ((UINT32) (position)))
 
-#define ACPI_IS_OCTAL_DIGIT(d)               (((char)(d) >= '0') && ((char)(d) <= '7'))
+#define ACPI_IS_OCTAL_DIGIT(d)              (((char)(d) >= '0') && ((char)(d) <= '7'))
 
 
 /* Bitfields within ACPI registers */
@@ -459,10 +466,11 @@
 
 /* Generate a UUID */
 
-#define ACPI_INIT_UUID(a,b,c,d0,d1,d2,d3,d4,d5,d6,d7)   (a) & 0xFF, ((a) >> 8) & 0xFF, ((a) >> 16) & 0xFF, ((a) >> 24) & 0xFF, \
-                                                        (b) & 0xFF, ((b) >> 8) & 0xFF, \
-                                                        (c) & 0xFF, ((c) >> 8) & 0xFF, \
-                                                        (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7)
+#define ACPI_INIT_UUID(a,b,c,d0,d1,d2,d3,d4,d5,d6,d7) \
+    (a) & 0xFF, ((a) >> 8) & 0xFF, ((a) >> 16) & 0xFF, ((a) >> 24) & 0xFF, \
+    (b) & 0xFF, ((b) >> 8) & 0xFF, \
+    (c) & 0xFF, ((c) >> 8) & 0xFF, \
+    (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7)
 
 /*
  * An ACPI_NAMESPACE_NODE * can appear in some contexts,
@@ -524,13 +532,12 @@
 #define INCREMENT_ARG_LIST(List)        (List >>= ((UINT32) ARG_TYPE_WIDTH))
 
 
+#if defined (ACPI_DEBUG_OUTPUT) || !defined (ACPI_NO_ERROR_MESSAGES)
 /*
  * Module name is include in both debug and non-debug versions primarily for
  * error messages. The __FILE__ macro is not very useful for this, because it
  * often includes the entire pathname to the module
  */
-#if defined (ACPI_DEBUG_OUTPUT) || !defined (ACPI_NO_ERROR_MESSAGES)
-
 #define ACPI_MODULE_NAME(Name)          static const char ACPI_UNUSED_VAR *_AcpiModuleName = Name;
 #else
 #define ACPI_MODULE_NAME(Name)
@@ -540,45 +547,42 @@
  * Ascii error messages can be configured out
  */
 #ifndef ACPI_NO_ERROR_MESSAGES
-
-#define ACPI_PARAM_LIST(pl)             pl
-#define ACPI_LOCATION_INFO              _AcpiModuleName, __LINE__
+#define AE_INFO                         _AcpiModuleName, __LINE__
 
 /*
- * Error reporting. Callers module and line number are inserted automatically
- * These macros are used for both the debug and non-debug versions of the code
- */
-#define ACPI_REPORT_INFO(fp)            {AcpiUtReportInfo (ACPI_LOCATION_INFO); \
-                                            AcpiOsPrintf ACPI_PARAM_LIST (fp);}
-#define ACPI_REPORT_ERROR(fp)           {AcpiUtReportError (ACPI_LOCATION_INFO); \
-                                            AcpiOsPrintf ACPI_PARAM_LIST (fp);}
-#define ACPI_REPORT_WARNING(fp)         {AcpiUtReportWarning (ACPI_LOCATION_INFO); \
-                                            AcpiOsPrintf ACPI_PARAM_LIST (fp);}
-#define ACPI_REPORT_NSERROR(s,e)        AcpiNsReportError (ACPI_LOCATION_INFO, \
-                                            s, e);
-#define ACPI_REPORT_MTERROR(s,n,p,e)    AcpiNsReportMethodError (ACPI_LOCATION_INFO, \
-                                            s, n, p, e);
-
-/* Error reporting. These versions pass thru the module and lineno */
-
-#define _ACPI_REPORT_INFO(a,b,fp)       {AcpiUtReportInfo (a,b); \
-                                            AcpiOsPrintf ACPI_PARAM_LIST (fp);}
-#define _ACPI_REPORT_ERROR(a,b,fp)      {AcpiUtReportError (a,b); \
-                                            AcpiOsPrintf ACPI_PARAM_LIST (fp);}
-#define _ACPI_REPORT_WARNING(a,b,fp)    {AcpiUtReportWarning (a,b); \
-                                            AcpiOsPrintf ACPI_PARAM_LIST (fp);}
+ * Error reporting. Callers module and line number are inserted by AE_INFO,
+ * the plist contains a set of parens to allow variable-length lists.
+ * These macros are used for both the debug and non-debug versions of the code.
+ */
+#define ACPI_INFO(plist)                AcpiUtInfo plist
+#define ACPI_WARNING(plist)             AcpiUtWarning plist
+#define ACPI_EXCEPTION(plist)           AcpiUtException plist
+#define ACPI_ERROR(plist)               AcpiUtError plist
+#define ACPI_ERROR_NAMESPACE(s,e)       AcpiNsReportError (AE_INFO, s, e);
+#define ACPI_ERROR_METHOD(s,n,p,e)      AcpiNsReportMethodError (AE_INFO, s, n, p, e);
+
+/* Legacy interfaces. Remove when migration is complete */
+
+#define ACPI_REPORT_INFO(fp)            {AcpiUtReportInfo (AE_INFO); \
+                                            AcpiOsPrintf fp;}
+#define ACPI_REPORT_ERROR(fp)           {AcpiUtReportError (AE_INFO); \
+                                            AcpiOsPrintf fp;}
+#define ACPI_REPORT_WARNING(fp)         {AcpiUtReportWarning (AE_INFO); \
+                                            AcpiOsPrintf fp;}
 #else
 
 /* No error messages */
 
+#define ACPI_INFO(plist)
+#define ACPI_WARNING(plist)
+#define ACPI_EXCEPTION(plist)
+#define ACPI_ERROR(plist)
+#define ACPI_ERROR_NAMESPACE(s,e)
+#define ACPI_ERROR_METHOD(s,n,p,e)
+
 #define ACPI_REPORT_INFO(fp)
 #define ACPI_REPORT_ERROR(fp)
 #define ACPI_REPORT_WARNING(fp)
-#define ACPI_REPORT_NSERROR(s,e)
-#define ACPI_REPORT_MTERROR(s,n,p,e)
-#define _ACPI_REPORT_INFO(a,b,c,fp)
-#define _ACPI_REPORT_ERROR(a,b,c,fp)
-#define _ACPI_REPORT_WARNING(a,b,c,fp)
 #endif
 
 /*
@@ -717,19 +721,6 @@
 #define ACPI_DUMP_PATHNAME(a,b,c,d)     AcpiNsDumpPathname(a,b,c,d)
 #define ACPI_DUMP_RESOURCE_LIST(a)      AcpiRsDumpResourceList(a)
 #define ACPI_DUMP_BUFFER(a,b)           AcpiUtDumpBuffer((UINT8 *)a,b,DB_BYTE_DISPLAY,_COMPONENT)
-#define ACPI_BREAK_MSG(a)               AcpiOsSignal (ACPI_SIGNAL_BREAKPOINT,(a))
-
-
-/*
- * Generate INT3 on ACPI_ERROR (Debug only!)
- */
-#define ACPI_ERROR_BREAK
-#ifdef  ACPI_ERROR_BREAK
-#define ACPI_BREAK_ON_ERROR(lvl)        if ((lvl)&ACPI_ERROR) \
-                                            AcpiOsSignal(ACPI_SIGNAL_BREAKPOINT,"Fatal error encountered\n")
-#else
-#define ACPI_BREAK_ON_ERROR(lvl)
-#endif
 
 /*
  * Master debug print macros
@@ -737,8 +728,8 @@
  *    1) Debug print for the current component is enabled
  *    2) Debug error level or trace level for the print statement is enabled
  */
-#define ACPI_DEBUG_PRINT(pl)            AcpiUtDebugPrint ACPI_PARAM_LIST(pl)
-#define ACPI_DEBUG_PRINT_RAW(pl)        AcpiUtDebugPrintRaw ACPI_PARAM_LIST(pl)
+#define ACPI_DEBUG_PRINT(plist)         AcpiUtDebugPrint plist
+#define ACPI_DEBUG_PRINT_RAW(plist)     AcpiUtDebugPrintRaw plist
 
 
 #else
@@ -769,7 +760,6 @@
 #define ACPI_DUMP_BUFFER(a,b)
 #define ACPI_DEBUG_PRINT(pl)
 #define ACPI_DEBUG_PRINT_RAW(pl)
-#define ACPI_BREAK_MSG(a)
 
 #define return_VOID                     return
 #define return_ACPI_STATUS(s)           return(s)
Index: sys/dev/acpi/acpica/Subsystem/acobject.h
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/acobject.h,v
retrieving revision 1.11
diff -u -u -p -r1.11 acobject.h
--- sys/dev/acpi/acpica/Subsystem/acobject.h	29 Jan 2006 03:05:46 -0000	1.11
+++ sys/dev/acpi/acpica/Subsystem/acobject.h	8 Mar 2006 04:07:25 -0000
@@ -2,7 +2,7 @@
 /******************************************************************************
  *
  * Name: acobject.h - Definition of ACPI_OPERAND_OBJECT  (Internal object only)
- *       xRevision: 1.131 $
+ *       xRevision: 1.133 $
  *
  *****************************************************************************/
 
@@ -143,7 +143,7 @@
     UINT8                           Type;               /* ACPI_OBJECT_TYPE */\
     UINT16                          ReferenceCount;     /* For object deletion management */\
     union acpi_operand_object       *NextObject;        /* Objects linked to parent NS node */\
-    UINT8                           Flags; \
+    UINT8                           Flags;
 
 /* Values for flag byte above */
 
@@ -589,7 +589,7 @@ typedef union acpi_operand_object
 
 typedef union acpi_descriptor
 {
-    UINT8                           DescriptorId;   /* To differentiate various internal objs */\
+    UINT8                           DescriptorId;   /* To differentiate various internal objs */
     ACPI_OPERAND_OBJECT             Object;
     ACPI_NAMESPACE_NODE             Node;
     ACPI_PARSE_OBJECT               Op;
Index: sys/dev/acpi/acpica/Subsystem/acpiosxf.h
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/acpiosxf.h,v
retrieving revision 1.11
diff -u -u -p -r1.11 acpiosxf.h
--- sys/dev/acpi/acpica/Subsystem/acpiosxf.h	29 Jan 2006 03:05:47 -0000	1.11
+++ sys/dev/acpi/acpica/Subsystem/acpiosxf.h	8 Mar 2006 04:07:25 -0000
@@ -213,14 +213,14 @@ void
 AcpiOsDeleteLock (
     ACPI_HANDLE             Handle);
 
-ACPI_NATIVE_UINT
+ACPI_CPU_FLAGS
 AcpiOsAcquireLock (
     ACPI_HANDLE             Handle);
 
 void
 AcpiOsReleaseLock (
     ACPI_HANDLE             Handle,
-    ACPI_NATIVE_UINT        Flags);
+    ACPI_CPU_FLAGS          Flags);
 
 
 /*
Index: sys/dev/acpi/acpica/Subsystem/acstruct.h
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/acstruct.h,v
retrieving revision 1.9
diff -u -u -p -r1.9 acstruct.h
--- sys/dev/acpi/acpica/Subsystem/acstruct.h	29 Jan 2006 03:05:47 -0000	1.9
+++ sys/dev/acpi/acpica/Subsystem/acstruct.h	8 Mar 2006 04:07:26 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Name: acstruct.h - Internal structs
- *       xRevision: 1.38 $
+ *       xRevision: 1.39 $
  *
  *****************************************************************************/
 
@@ -140,7 +140,7 @@
 
 typedef struct acpi_walk_state
 {
-    UINT8                       DataType;                           /* To differentiate various internal objs MUST BE FIRST!*/\
+    UINT8                       DataType;                           /* To differentiate various internal objs MUST BE FIRST!*/
     UINT8                       WalkType;
     ACPI_OWNER_ID               OwnerId;                            /* Owner of objects created during the walk */
     BOOLEAN                     LastPredicate;                      /* Result of last predicate */
Index: sys/dev/acpi/acpica/Subsystem/actypes.h
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/actypes.h,v
retrieving revision 1.15
diff -u -u -p -r1.15 actypes.h
--- sys/dev/acpi/acpica/Subsystem/actypes.h	29 Jan 2006 03:05:47 -0000	1.15
+++ sys/dev/acpi/acpica/Subsystem/actypes.h	8 Mar 2006 04:07:26 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Name: actypes.h - Common data types for the entire ACPI subsystem
- *       xRevision: 1.298 $
+ *       xRevision: 1.301 $
  *
  *****************************************************************************/
 
@@ -231,7 +231,6 @@ typedef UINT64                          
 #define ACPI_MAX_PTR                    ACPI_UINT64_MAX
 #define ACPI_SIZE_MAX                   ACPI_UINT64_MAX
 
-#define ALIGNED_ADDRESS_BOUNDARY        0x00000008
 #define ACPI_USE_NATIVE_DIVIDE          /* Has native 64-bit integer support */
 
 /*
@@ -274,8 +273,6 @@ typedef UINT64                          
 #define ACPI_MAX_PTR                    ACPI_UINT32_MAX
 #define ACPI_SIZE_MAX                   ACPI_UINT32_MAX
 
-#define ALIGNED_ADDRESS_BOUNDARY        0x00000004
-
 
 /*******************************************************************************
  *
@@ -304,7 +301,6 @@ typedef char                            
 #define ACPI_MAX_PTR                    ACPI_UINT16_MAX
 #define ACPI_SIZE_MAX                   ACPI_UINT16_MAX
 
-#define ALIGNED_ADDRESS_BOUNDARY        0x00000002
 #define ACPI_USE_NATIVE_DIVIDE          /* No 64-bit integers, ok to use native divide */
 
 /* 64-bit integers cannot be supported */
@@ -320,17 +316,23 @@ typedef char                            
 #endif
 
 
+/* Variable-width type, used instead of clib size_t */
+
+typedef ACPI_NATIVE_UINT                ACPI_SIZE;
+
+
 /*******************************************************************************
  *
  * OS- or compiler-dependent types
  *
+ * If the defaults below are not appropriate for the host system, they can 
+ * be defined in the compiler-specific or OS-specific header, and this will
+ * take precedence.
+ *
  ******************************************************************************/
 
-/*
- * If ACPI_UINTPTR_T was not defined in the OS- or compiler-dependent header,
- * define it now (use C99 uintptr_t for pointer casting if available,
- * "void *" otherwise)
- */
+/* Use C99 uintptr_t for pointer casting if available, "void *" otherwise */
+
 #ifndef ACPI_UINTPTR_T
 #define ACPI_UINTPTR_T                  void *
 #endif
@@ -344,9 +346,31 @@ typedef char                            
 #define ACPI_CACHE_T                    ACPI_MEMORY_LIST
 #endif
 
-/* Variable-width type, used instead of clib size_t */
+/*
+ * Allow the CPU flags word to be defined per-OS to simplify the use of the
+ * lock and unlock OSL interfaces.
+ */
+#ifndef ACPI_CPU_FLAGS
+#define ACPI_CPU_FLAGS                  ACPI_NATIVE_UINT
+#endif
 
-typedef ACPI_NATIVE_UINT                ACPI_SIZE;
+/*
+ * ACPI_PRINTF_LIKE is used to tag functions as "printf-like" because
+ * some compilers can catch printf format string problems
+ */
+#ifndef ACPI_PRINTF_LIKE
+#define ACPI_PRINTF_LIKE(c)
+#endif
+
+/*
+ * Some compilers complain about unused variables. Sometimes we don't want to
+ * use all the variables (for example, _AcpiModuleName). This allows us
+ * to to tell the compiler in a per-variable manner that a variable
+ * is unused
+ */
+#ifndef ACPI_UNUSED_VAR
+#define ACPI_UNUSED_VAR
+#endif
 
 
 /*******************************************************************************
@@ -1510,12 +1534,6 @@ typedef struct acpi_resource
 
 #define ACPI_NEXT_RESOURCE(Res)             (ACPI_RESOURCE *)((UINT8 *) Res + Res->Length)
 
-#ifndef ACPI_MISALIGNMENT_NOT_SUPPORTED
-#define ACPI_ALIGN_RESOURCE_SIZE(Length)    (Length)
-#else
-#define ACPI_ALIGN_RESOURCE_SIZE(Length)    ACPI_ROUND_UP_TO_NATIVE_WORD(Length)
-#endif
-
 /*
  * END: of definitions for Resource Attributes
  */
Index: sys/dev/acpi/acpica/Subsystem/acutils.h
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/acutils.h,v
retrieving revision 1.12
diff -u -u -p -r1.12 acutils.h
--- sys/dev/acpi/acpica/Subsystem/acutils.h	29 Jan 2006 03:05:47 -0000	1.12
+++ sys/dev/acpi/acpica/Subsystem/acutils.h	8 Mar 2006 04:07:26 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Name: acutils.h -- prototypes for the common (subsystem-wide) procedures
- *       xRevision: 1.186 $
+ *       xRevision: 1.189 $
  *
  *****************************************************************************/
 
@@ -468,8 +468,15 @@ AcpiUtPtrExit (
     UINT8                   *Ptr);
 
 void
+AcpiUtDumpBuffer (
+    UINT8                   *Buffer,
+    UINT32                  Count,
+    UINT32                  Display,
+    UINT32                  componentId);
+
+void
 AcpiUtReportError (
-    const char             *ModuleName,
+    const char              *ModuleName,
     UINT32                  LineNumber);
 
 void
@@ -482,12 +489,7 @@ AcpiUtReportWarning (
     const char              *ModuleName,
     UINT32                  LineNumber);
 
-void
-AcpiUtDumpBuffer (
-    UINT8                   *Buffer,
-    UINT32                  Count,
-    UINT32                  Display,
-    UINT32                  componentId);
+/* Error and message reporting interfaces */
 
 void ACPI_INTERNAL_VAR_XFACE
 AcpiUtDebugPrint (
@@ -497,7 +499,7 @@ AcpiUtDebugPrint (
     const char              *ModuleName,
     UINT32                  ComponentId,
     const char              *Format,
-    ...) ACPI_PRINTF_LIKE_FUNC;
+    ...) ACPI_PRINTF_LIKE(6);
 
 void ACPI_INTERNAL_VAR_XFACE
 AcpiUtDebugPrintRaw (
@@ -507,7 +509,36 @@ AcpiUtDebugPrintRaw (
     const char              *ModuleName,
     UINT32                  ComponentId,
     const char              *Format,
-    ...) ACPI_PRINTF_LIKE_FUNC;
+    ...) ACPI_PRINTF_LIKE(6);
+
+void ACPI_INTERNAL_VAR_XFACE
+AcpiUtError (
+    const char              *ModuleName,
+    UINT32                  LineNumber,
+    const char              *Format,
+    ...) ACPI_PRINTF_LIKE(3);
+
+void  ACPI_INTERNAL_VAR_XFACE
+AcpiUtException (
+    const char              *ModuleName,
+    UINT32                  LineNumber,
+    ACPI_STATUS             Status,
+    const char              *Format,
+    ...) ACPI_PRINTF_LIKE(4);
+
+void ACPI_INTERNAL_VAR_XFACE
+AcpiUtWarning (
+    const char              *ModuleName,
+    UINT32                  LineNumber,
+    const char              *Format,
+    ...) ACPI_PRINTF_LIKE(3);
+
+void ACPI_INTERNAL_VAR_XFACE
+AcpiUtInfo (
+    const char              *ModuleName,
+    UINT32                  LineNumber,
+    const char              *Format,
+    ...) ACPI_PRINTF_LIKE(3);
 
 
 /*
@@ -763,11 +794,6 @@ AcpiUtGetResourceEndTag (
     ACPI_OPERAND_OBJECT     *ObjDesc,
     UINT8                   **EndTag);
 
-UINT8
-AcpiUtGenerateChecksum (
-    UINT8                   *Buffer,
-    UINT32                  Length);
-
 UINT32
 AcpiUtDwordByteSwap (
     UINT32                  Value);
Index: sys/dev/acpi/acpica/Subsystem/dbfileio.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/dbfileio.c,v
retrieving revision 1.14
diff -u -u -p -r1.14 dbfileio.c
--- sys/dev/acpi/acpica/Subsystem/dbfileio.c	29 Jan 2006 03:05:47 -0000	1.14
+++ sys/dev/acpi/acpica/Subsystem/dbfileio.c	8 Mar 2006 04:07:27 -0000
@@ -2,7 +2,7 @@
  *
  * Module Name: dbfileio - Debugger file I/O commands.  These can't usually
  *              be used when running the debugger in Ring 0 (Kernel mode)
- *              xRevision: 1.86 $
+ *              xRevision: 1.87 $
  *
  ******************************************************************************/
 
@@ -252,8 +252,8 @@ AcpiDbCheckTextModeCorruption (
 
     if (TableLength != FileLength)
     {
-        ACPI_REPORT_WARNING ((
-            "File length (0x%X) is not the same as the table length (0x%X)\n",
+        ACPI_WARNING ((AE_INFO,
+            "File length (0x%X) is not the same as the table length (0x%X)",
             FileLength, TableLength));
     }
 
Index: sys/dev/acpi/acpica/Subsystem/dbutils.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/dbutils.c,v
retrieving revision 1.14
diff -u -u -p -r1.14 dbutils.c
--- sys/dev/acpi/acpica/Subsystem/dbutils.c	29 Jan 2006 03:05:47 -0000	1.14
+++ sys/dev/acpi/acpica/Subsystem/dbutils.c	8 Mar 2006 04:07:27 -0000
@@ -1,7 +1,7 @@
 /*******************************************************************************
  *
  * Module Name: dbutils - AML debugger utilities
- *              xRevision: 1.79 $
+ *              xRevision: 1.80 $
  *
  ******************************************************************************/
 
@@ -422,7 +422,7 @@ AcpiDbLocalNsLookup (
                     ACPI_NS_NO_UPSEARCH | ACPI_NS_DONT_OPEN_SCOPE, NULL, &Node);
     if (ACPI_FAILURE (Status))
     {
-        AcpiOsPrintf ("Could not locate name: %s %s\n",
+        AcpiOsPrintf ("Could not locate name: %s, %s\n",
                 Name, AcpiFormatException (Status));
     }
 
Index: sys/dev/acpi/acpica/Subsystem/dmopcode.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/dmopcode.c,v
retrieving revision 1.9
diff -u -u -p -r1.9 dmopcode.c
--- sys/dev/acpi/acpica/Subsystem/dmopcode.c	29 Jan 2006 03:05:47 -0000	1.9
+++ sys/dev/acpi/acpica/Subsystem/dmopcode.c	8 Mar 2006 04:07:27 -0000
@@ -1,7 +1,7 @@
 /*******************************************************************************
  *
  * Module Name: dmopcode - AML disassembler, specific AML opcodes
- *              xRevision: 1.92 $
+ *              xRevision: 1.93 $
  *
  ******************************************************************************/
 
@@ -205,9 +205,9 @@ AcpiDmFieldFlags (
     UINT32                  Flags;
 
 
-    /* The next Op contains the flags */
+    /* The next peer Op (not child op) contains the flags */
 
-    Op = AcpiPsGetDepthNext (NULL, Op);
+    Op = Op->Common.Next;
     Flags = (UINT8) Op->Common.Value.Integer;
 
     /* Mark the Op as completed */
Index: sys/dev/acpi/acpica/Subsystem/dmwalk.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/dmwalk.c,v
retrieving revision 1.8
diff -u -u -p -r1.8 dmwalk.c
--- sys/dev/acpi/acpica/Subsystem/dmwalk.c	29 Jan 2006 03:05:47 -0000	1.8
+++ sys/dev/acpi/acpica/Subsystem/dmwalk.c	8 Mar 2006 04:07:27 -0000
@@ -1,7 +1,7 @@
 /*******************************************************************************
  *
  * Module Name: dmwalk - AML disassembly tree walk
- *              xRevision: 1.25 $
+ *              xRevision: 1.27 $
  *
  ******************************************************************************/
 
@@ -189,6 +189,7 @@ AcpiDmDisassemble (
         return;
     }
 
+    Info.Flags = 0;
     Info.Level = 0;
     Info.WalkState = WalkState;
     AcpiDmWalkParseTree (Op, AcpiDmDescendingOp, AcpiDmAscendingOp, &Info);
@@ -668,7 +669,7 @@ AcpiDmDescendingOp (
 
             default:
 
-                AcpiOsPrintf ("*** Unhandled named opcode\n");
+                AcpiOsPrintf ("*** Unhandled named opcode %X\n", Op->Common.AmlOpcode);
                 break;
             }
         }
@@ -692,23 +693,34 @@ AcpiDmDescendingOp (
             {
             case AML_BANK_FIELD_OP:
 
-                /* Namestring */
+                /* Namestring - Bank Name */
 
                 NextOp = AcpiPsGetDepthNext (NULL, NextOp);
                 AcpiDmNamestring (NextOp->Common.Value.Name);
                 NextOp->Common.DisasmFlags |= ACPI_PARSEOP_IGNORE;
                 AcpiOsPrintf (", ");
 
-
+                /*
+                 * Bank Value. This is a TermArg in the middle of the parameter
+                 * list, must handle it here.
+                 *
+                 * Disassemble the TermArg parse tree. ACPI_PARSEOP_PARAMLIST 
+                 * eliminates newline in the output.
+                 */
                 NextOp = NextOp->Common.Next;
-                AcpiDmDisassembleOneOp (NULL, Info, NextOp);
+
+                Info->Flags = ACPI_PARSEOP_PARAMLIST;
+                AcpiDmWalkParseTree (NextOp, AcpiDmDescendingOp, AcpiDmAscendingOp, Info);
+                Info->Flags = 0;
+                Info->Level = Level;
+
                 NextOp->Common.DisasmFlags |= ACPI_PARSEOP_IGNORE;
                 AcpiOsPrintf (", ");
                 break;
 
             case AML_INDEX_FIELD_OP:
 
-                /* Namestring */
+                /* Namestring - Data Name */
 
                 NextOp = AcpiPsGetDepthNext (NULL, NextOp);
                 AcpiDmNamestring (NextOp->Common.Value.Name);
@@ -863,7 +875,10 @@ AcpiDmAscendingOp (
                  * This is a first-level element of a term list
                  * start a new line
                  */
-                AcpiOsPrintf ("\n");
+                if (!(Info->Flags & ACPI_PARSEOP_PARAMLIST))
+                {
+                    AcpiOsPrintf ("\n");
+                }
             }
         }
         break;
Index: sys/dev/acpi/acpica/Subsystem/dsfield.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/dsfield.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 dsfield.c
--- sys/dev/acpi/acpica/Subsystem/dsfield.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/dsfield.c	8 Mar 2006 04:07:28 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: dsfield - Dispatcher field routines
- *              xRevision: 1.80 $
+ *              xRevision: 1.81 $
  *
  *****************************************************************************/
 
@@ -222,7 +222,7 @@ AcpiDsCreateBufferField (
                                 Flags, WalkState, &(Node));
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_NSERROR (Arg->Common.Value.String, Status);
+            ACPI_ERROR_NAMESPACE (Arg->Common.Value.String, Status);
             return_ACPI_STATUS (Status);
         }
     }
@@ -337,8 +337,8 @@ AcpiDsGetFieldNames (
 
             if (Position > ACPI_UINT32_MAX)
             {
-                ACPI_REPORT_ERROR ((
-                    "Bit offset within field too large (> 0xFFFFFFFF)\n"));
+                ACPI_ERROR ((AE_INFO,
+                    "Bit offset within field too large (> 0xFFFFFFFF)"));
                 return_ACPI_STATUS (AE_SUPPORT);
             }
 
@@ -375,7 +375,7 @@ AcpiDsGetFieldNames (
                             WalkState, &Info->FieldNode);
             if (ACPI_FAILURE (Status))
             {
-                ACPI_REPORT_NSERROR ((char *) &Arg->Named.Name, Status);
+                ACPI_ERROR_NAMESPACE ((char *) &Arg->Named.Name, Status);
                 if (Status != AE_ALREADY_EXISTS)
                 {
                     return_ACPI_STATUS (Status);
@@ -404,8 +404,8 @@ AcpiDsGetFieldNames (
 
             if (Position > ACPI_UINT32_MAX)
             {
-                ACPI_REPORT_ERROR ((
-                    "Field [%4.4s] bit offset too large (> 0xFFFFFFFF)\n",
+                ACPI_ERROR ((AE_INFO,
+                    "Field [%4.4s] bit offset too large (> 0xFFFFFFFF)",
                     ACPI_CAST_PTR (char, &Info->FieldNode->Name)));
                 return_ACPI_STATUS (AE_SUPPORT);
             }
@@ -416,8 +416,8 @@ AcpiDsGetFieldNames (
 
         default:
 
-            ACPI_REPORT_ERROR ((
-                "Invalid opcode in field list: %X\n",
+            ACPI_ERROR ((AE_INFO,
+                "Invalid opcode in field list: %X",
                 Arg->Common.AmlOpcode));
             return_ACPI_STATUS (AE_AML_BAD_OPCODE);
         }
@@ -467,7 +467,7 @@ AcpiDsCreateField (
                         ACPI_NS_SEARCH_PARENT, WalkState, &RegionNode);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_NSERROR (Arg->Common.Value.Name, Status);
+            ACPI_ERROR_NAMESPACE (Arg->Common.Value.Name, Status);
             return_ACPI_STATUS (Status);
         }
     }
@@ -556,7 +556,7 @@ AcpiDsInitFieldObjects (
                             WalkState, &Node);
             if (ACPI_FAILURE (Status))
             {
-                ACPI_REPORT_NSERROR ((char *) &Arg->Named.Name, Status);
+                ACPI_ERROR_NAMESPACE ((char *) &Arg->Named.Name, Status);
                 if (Status != AE_ALREADY_EXISTS)
                 {
                     return_ACPI_STATUS (Status);
@@ -617,7 +617,7 @@ AcpiDsCreateBankField (
                         ACPI_NS_SEARCH_PARENT, WalkState, &RegionNode);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_NSERROR (Arg->Common.Value.Name, Status);
+            ACPI_ERROR_NAMESPACE (Arg->Common.Value.Name, Status);
             return_ACPI_STATUS (Status);
         }
     }
@@ -630,7 +630,7 @@ AcpiDsCreateBankField (
                     ACPI_NS_SEARCH_PARENT, WalkState, &Info.RegisterNode);
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_NSERROR (Arg->Common.Value.String, Status);
+        ACPI_ERROR_NAMESPACE (Arg->Common.Value.String, Status);
         return_ACPI_STATUS (Status);
     }
 
@@ -691,7 +691,7 @@ AcpiDsCreateIndexField (
                     ACPI_NS_SEARCH_PARENT, WalkState, &Info.RegisterNode);
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_NSERROR (Arg->Common.Value.String, Status);
+        ACPI_ERROR_NAMESPACE (Arg->Common.Value.String, Status);
         return_ACPI_STATUS (Status);
     }
 
@@ -703,7 +703,7 @@ AcpiDsCreateIndexField (
                     ACPI_NS_SEARCH_PARENT, WalkState, &Info.DataRegisterNode);
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_NSERROR (Arg->Common.Value.String, Status);
+        ACPI_ERROR_NAMESPACE (Arg->Common.Value.String, Status);
         return_ACPI_STATUS (Status);
     }
 
Index: sys/dev/acpi/acpica/Subsystem/dsinit.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/dsinit.c,v
retrieving revision 1.9
diff -u -u -p -r1.9 dsinit.c
--- sys/dev/acpi/acpica/Subsystem/dsinit.c	29 Jan 2006 03:05:47 -0000	1.9
+++ sys/dev/acpi/acpica/Subsystem/dsinit.c	8 Mar 2006 04:07:28 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: dsinit - Object initialization namespace walk
- *              xRevision: 1.21 $
+ *              xRevision: 1.22 $
  *
  *****************************************************************************/
 
@@ -194,10 +194,9 @@ AcpiDsInitOneObject (
         Status = AcpiDsInitializeRegion (ObjHandle);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR ((
-                "Region %p [%4.4s] - Init failure, %s\n",
-                ObjHandle, AcpiUtGetNodeName (ObjHandle),
-                AcpiFormatException (Status)));
+            ACPI_EXCEPTION ((AE_INFO, Status,
+                "During Region initialization %p [%4.4s]",
+                ObjHandle, AcpiUtGetNodeName (ObjHandle)));
         }
 
         Info->OpRegionCount++;
@@ -241,8 +240,8 @@ AcpiDsInitOneObject (
         Status = AcpiDsParseMethod (ObjHandle);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR ((
-                "\n+Method %p [%4.4s] - parse failure, %s\n",
+            ACPI_ERROR ((AE_INFO,
+                "Method %p [%4.4s] - parse failure, %s",
                 ObjHandle, AcpiUtGetNodeName (ObjHandle),
                 AcpiFormatException (Status)));
 
@@ -313,8 +312,7 @@ AcpiDsInitializeObjects (
                     AcpiDsInitOneObject, &Info, NULL);
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("WalkNamespace failed, %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status, "During WalkNamespace"));
     }
 
     ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INIT,
Index: sys/dev/acpi/acpica/Subsystem/dsmethod.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/dsmethod.c,v
retrieving revision 1.14
diff -u -u -p -r1.14 dsmethod.c
--- sys/dev/acpi/acpica/Subsystem/dsmethod.c	29 Jan 2006 03:05:47 -0000	1.14
+++ sys/dev/acpi/acpica/Subsystem/dsmethod.c	8 Mar 2006 04:07:28 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: dsmethod - Parser/Interpreter interface - control method parsing
- *              xRevision: 1.115 $
+ *              xRevision: 1.116 $
  *
  *****************************************************************************/
 
@@ -233,8 +233,8 @@ AcpiDsBeginMethodExecution (
 
     if (ObjDesc->Method.ThreadCount == ACPI_UINT8_MAX)
     {
-        ACPI_REPORT_ERROR ((
-            "Method reached maximum reentrancy limit (255)\n"));
+        ACPI_ERROR ((AE_INFO,
+            "Method reached maximum reentrancy limit (255)"));
         return_ACPI_STATUS (AE_AML_METHOD_LIMIT);
     }
 
@@ -594,7 +594,7 @@ AcpiDsTerminateControlMethod (
                         WalkState->MethodDesc->Method.Semaphore, 1);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR (("Could not signal method semaphore\n"));
+            ACPI_ERROR ((AE_INFO, "Could not signal method semaphore"));
 
             /* Ignore error and continue cleanup */
         }
Index: sys/dev/acpi/acpica/Subsystem/dsmthdat.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/dsmthdat.c,v
retrieving revision 1.14
diff -u -u -p -r1.14 dsmthdat.c
--- sys/dev/acpi/acpica/Subsystem/dsmthdat.c	29 Jan 2006 03:05:47 -0000	1.14
+++ sys/dev/acpi/acpica/Subsystem/dsmthdat.c	8 Mar 2006 04:07:28 -0000
@@ -1,7 +1,7 @@
 /*******************************************************************************
  *
  * Module Name: dsmthdat - control method arguments and local variables
- *              xRevision: 1.87 $
+ *              xRevision: 1.88 $
  *
  ******************************************************************************/
 
@@ -367,8 +367,8 @@ AcpiDsMethodDataGetNode (
 
         if (Index > ACPI_METHOD_MAX_LOCAL)
         {
-            ACPI_REPORT_ERROR ((
-                "Local index %d is invalid (max %d)\n",
+            ACPI_ERROR ((AE_INFO,
+                "Local index %d is invalid (max %d)",
                 Index, ACPI_METHOD_MAX_LOCAL));
             return_ACPI_STATUS (AE_AML_INVALID_INDEX);
         }
@@ -382,8 +382,8 @@ AcpiDsMethodDataGetNode (
 
         if (Index > ACPI_METHOD_MAX_ARG)
         {
-            ACPI_REPORT_ERROR ((
-                "Arg index %d is invalid (max %d)\n",
+            ACPI_ERROR ((AE_INFO,
+                "Arg index %d is invalid (max %d)",
                 Index, ACPI_METHOD_MAX_ARG));
             return_ACPI_STATUS (AE_AML_INVALID_INDEX);
         }
@@ -394,7 +394,7 @@ AcpiDsMethodDataGetNode (
         break;
 
     default:
-        ACPI_REPORT_ERROR (("Opcode %d is invalid\n", Opcode));
+        ACPI_ERROR ((AE_INFO, "Opcode %d is invalid", Opcode));
         return_ACPI_STATUS (AE_AML_BAD_OPCODE);
     }
 
@@ -495,7 +495,7 @@ AcpiDsMethodDataGetValue (
 
     if (!DestDesc)
     {
-        ACPI_REPORT_ERROR (("Null object descriptor pointer\n"));
+        ACPI_ERROR ((AE_INFO, "Null object descriptor pointer"));
         return_ACPI_STATUS (AE_BAD_PARAMETER);
     }
 
@@ -543,22 +543,22 @@ AcpiDsMethodDataGetValue (
         {
         case AML_ARG_OP:
 
-            ACPI_REPORT_ERROR ((
-                "Uninitialized Arg[%d] at node %p\n",
+            ACPI_ERROR ((AE_INFO,
+                "Uninitialized Arg[%d] at node %p",
                 Index, Node));
 
             return_ACPI_STATUS (AE_AML_UNINITIALIZED_ARG);
 
         case AML_LOCAL_OP:
 
-            ACPI_REPORT_ERROR ((
-                "Uninitialized Local[%d] at node %p\n",
+            ACPI_ERROR ((AE_INFO,
+                "Uninitialized Local[%d] at node %p",
                 Index, Node));
 
             return_ACPI_STATUS (AE_AML_UNINITIALIZED_LOCAL);
 
         default:
-            ACPI_REPORT_ERROR (("Not a Arg/Local opcode: %X\n", Opcode));
+            ACPI_ERROR ((AE_INFO, "Not a Arg/Local opcode: %X", Opcode));
             return_ACPI_STATUS (AE_AML_INTERNAL);
         }
     }
Index: sys/dev/acpi/acpica/Subsystem/dsobject.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/dsobject.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 dsobject.c
--- sys/dev/acpi/acpica/Subsystem/dsobject.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/dsobject.c	8 Mar 2006 04:07:29 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: dsobject - Dispatcher object management routines
- *              xRevision: 1.128 $
+ *              xRevision: 1.129 $
  *
  *****************************************************************************/
 
@@ -208,7 +208,7 @@ AcpiDsBuildInternalObject (
                 }
                 else
                 {
-                    ACPI_REPORT_NSERROR (Op->Common.Value.String, Status);
+                    ACPI_ERROR_NAMESPACE (Op->Common.Value.String, Status);
                 }
 
                 return_ACPI_STATUS (Status);
@@ -300,8 +300,8 @@ AcpiDsBuildInternalBufferObj (
     {
         if (ByteList->Common.AmlOpcode != AML_INT_BYTELIST_OP)
         {
-            ACPI_REPORT_ERROR ((
-                "Expecting bytelist, got AML opcode %X in op %p\n",
+            ACPI_ERROR ((AE_INFO,
+                "Expecting bytelist, got AML opcode %X in op %p",
                 ByteList->Common.AmlOpcode, ByteList));
 
             AcpiUtRemoveReference (ObjDesc);
@@ -661,8 +661,8 @@ AcpiDsInitObjectFromOp (
 
             default:
 
-                ACPI_REPORT_ERROR ((
-                    "Unknown constant opcode %X\n", Opcode));
+                ACPI_ERROR ((AE_INFO,
+                    "Unknown constant opcode %X", Opcode));
                 Status = AE_AML_OPERAND_TYPE;
                 break;
             }
@@ -679,7 +679,7 @@ AcpiDsInitObjectFromOp (
 
 
         default:
-            ACPI_REPORT_ERROR (("Unknown Integer type %X\n",
+            ACPI_ERROR ((AE_INFO, "Unknown Integer type %X",
                 OpInfo->Type));
             Status = AE_AML_OPERAND_TYPE;
             break;
@@ -756,7 +756,7 @@ AcpiDsInitObjectFromOp (
 
     default:
 
-        ACPI_REPORT_ERROR (("Unimplemented data type: %X\n",
+        ACPI_ERROR ((AE_INFO, "Unimplemented data type: %X",
             ACPI_GET_OBJECT_TYPE (ObjDesc)));
 
         Status = AE_AML_OPERAND_TYPE;
Index: sys/dev/acpi/acpica/Subsystem/dsopcode.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/dsopcode.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 dsopcode.c
--- sys/dev/acpi/acpica/Subsystem/dsopcode.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/dsopcode.c	8 Mar 2006 04:07:29 -0000
@@ -2,7 +2,7 @@
  *
  * Module Name: dsopcode - Dispatcher Op Region support and handling of
  *                         "control" opcodes
- *              xRevision: 1.105 $
+ *              xRevision: 1.106 $
  *
  *****************************************************************************/
 
@@ -349,8 +349,8 @@ AcpiDsGetBufferArguments (
     Node = ObjDesc->Buffer.Node;
     if (!Node)
     {
-        ACPI_REPORT_ERROR ((
-            "No pointer back to NS node in buffer obj %p\n", ObjDesc));
+        ACPI_ERROR ((AE_INFO,
+            "No pointer back to NS node in buffer obj %p", ObjDesc));
         return_ACPI_STATUS (AE_AML_INTERNAL);
     }
 
@@ -398,8 +398,8 @@ AcpiDsGetPackageArguments (
     Node = ObjDesc->Package.Node;
     if (!Node)
     {
-        ACPI_REPORT_ERROR ((
-            "No pointer back to NS node in package %p\n", ObjDesc));
+        ACPI_ERROR ((AE_INFO,
+            "No pointer back to NS node in package %p", ObjDesc));
         return_ACPI_STATUS (AE_AML_INTERNAL);
     }
 
@@ -535,8 +535,8 @@ AcpiDsInitBufferField (
 
     if (ACPI_GET_OBJECT_TYPE (BufferDesc) != ACPI_TYPE_BUFFER)
     {
-        ACPI_REPORT_ERROR ((
-            "Target of Create Field is not a Buffer object - %s\n",
+        ACPI_ERROR ((AE_INFO,
+            "Target of Create Field is not a Buffer object - %s",
             AcpiUtGetObjectTypeName (BufferDesc)));
 
         Status = AE_AML_OPERAND_TYPE;
@@ -550,8 +550,8 @@ AcpiDsInitBufferField (
      */
     if (ACPI_GET_DESCRIPTOR_TYPE (ResultDesc) != ACPI_DESC_TYPE_NAMED)
     {
-        ACPI_REPORT_ERROR ((
-            "(%s) destination not a NS Node [%s]\n",
+        ACPI_ERROR ((AE_INFO,
+            "(%s) destination not a NS Node [%s]",
             AcpiPsGetOpcodeName (AmlOpcode),
             AcpiUtGetDescriptorName (ResultDesc)));
 
@@ -578,8 +578,8 @@ AcpiDsInitBufferField (
 
         if (BitCount == 0)
         {
-            ACPI_REPORT_ERROR ((
-                "Attempt to CreateField of length 0\n"));
+            ACPI_ERROR ((AE_INFO,
+                "Attempt to CreateField of length zero"));
             Status = AE_AML_OPERAND_VALUE;
             goto Cleanup;
         }
@@ -632,8 +632,8 @@ AcpiDsInitBufferField (
 
     default:
 
-        ACPI_REPORT_ERROR ((
-            "Unknown field creation opcode %02x\n",
+        ACPI_ERROR ((AE_INFO,
+            "Unknown field creation opcode %02x",
             AmlOpcode));
         Status = AE_AML_BAD_OPCODE;
         goto Cleanup;
@@ -644,8 +644,8 @@ AcpiDsInitBufferField (
     if ((BitOffset + BitCount) >
         (8 * (UINT32) BufferDesc->Buffer.Length))
     {
-        ACPI_REPORT_ERROR ((
-            "Field [%4.4s] size %d exceeds Buffer [%4.4s] size %d (bits)\n",
+        ACPI_ERROR ((AE_INFO,
+            "Field [%4.4s] at %d exceeds Buffer [%4.4s] size %d (bits)",
             AcpiUtGetNodeName (ResultDesc),
             BitOffset + BitCount,
             AcpiUtGetNodeName (BufferDesc->Buffer.Node),
@@ -766,7 +766,7 @@ AcpiDsEvalBufferFieldOperands (
 
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("(%s) bad operand(s) (%X)\n",
+        ACPI_ERROR ((AE_INFO, "(%s) bad operand(s) (%X)",
             AcpiPsGetOpcodeName (Op->Common.AmlOpcode), Status));
 
         return_ACPI_STATUS (Status);
@@ -1308,7 +1308,7 @@ AcpiDsExecEndControlOp (
 
     default:
 
-        ACPI_REPORT_ERROR (("Unknown control opcode=%X Op=%p\n",
+        ACPI_ERROR ((AE_INFO, "Unknown control opcode=%X Op=%p",
             Op->Common.AmlOpcode, Op));
 
         Status = AE_AML_BAD_OPCODE;
Index: sys/dev/acpi/acpica/Subsystem/dsutils.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/dsutils.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 dsutils.c
--- sys/dev/acpi/acpica/Subsystem/dsutils.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/dsutils.c	8 Mar 2006 04:07:29 -0000
@@ -1,7 +1,7 @@
 /*******************************************************************************
  *
  * Module Name: dsutils - Dispatcher utilities
- *              xRevision: 1.117 $
+ *              xRevision: 1.119 $
  *
  ******************************************************************************/
 
@@ -275,7 +275,7 @@ AcpiDsIsResultUsed (
 
     if (!Op)
     {
-        ACPI_REPORT_ERROR (("Null Op\n"));
+        ACPI_ERROR ((AE_INFO, "Null Op"));
         return_UINT8 (TRUE);
     }
 
@@ -314,8 +314,8 @@ AcpiDsIsResultUsed (
     ParentInfo = AcpiPsGetOpcodeInfo (Op->Common.Parent->Common.AmlOpcode);
     if (ParentInfo->Class == AML_CLASS_UNKNOWN)
     {
-        ACPI_REPORT_ERROR ((
-            "Unknown parent opcode Op=%p\n", Op));
+        ACPI_ERROR ((AE_INFO,
+            "Unknown parent opcode Op=%p", Op));
         return_UINT8 (FALSE);
     }
 
@@ -450,7 +450,7 @@ AcpiDsDeleteResultIfNotUsed (
 
     if (!Op)
     {
-        ACPI_REPORT_ERROR (("Null Op\n"));
+        ACPI_ERROR ((AE_INFO, "Null Op"));
         return_VOID;
     }
 
@@ -623,7 +623,7 @@ AcpiDsCreateOperand (
          */
         if ((WalkState->DeferredNode) &&
             (WalkState->DeferredNode->Type == ACPI_TYPE_BUFFER_FIELD) &&
-            (ArgIndex != 0))
+            (ArgIndex == (UINT32) ((WalkState->Opcode == AML_CREATE_FIELD_OP) ? 3 : 2)))
         {
             ObjDesc = ACPI_CAST_PTR (
                         ACPI_OPERAND_OBJECT, WalkState->DeferredNode);
@@ -690,7 +690,7 @@ AcpiDsCreateOperand (
 
             if (ACPI_FAILURE (Status))
             {
-                ACPI_REPORT_NSERROR (NameString, Status);
+                ACPI_ERROR_NAMESPACE (NameString, Status);
             }
         }
 
@@ -763,9 +763,8 @@ AcpiDsCreateOperand (
                  * Only error is underflow, and this indicates
                  * a missing or null operand!
                  */
-                ACPI_REPORT_ERROR ((
-                    "Missing or null operand, %s\n",
-                    AcpiFormatException (Status)));
+                ACPI_EXCEPTION ((AE_INFO, Status,
+                    "Missing or null operand"));
                 return_ACPI_STATUS (Status);
             }
         }
@@ -864,8 +863,8 @@ Cleanup:
      */
     (void) AcpiDsObjStackPopAndDelete (ArgCount, WalkState);
 
-    ACPI_REPORT_ERROR (("While creating Arg %d - %s\n",
-        (ArgCount + 1), AcpiFormatException (Status)));
+    ACPI_EXCEPTION ((AE_INFO, Status, "While creating Arg %d",
+        (ArgCount + 1)));
     return_ACPI_STATUS (Status);
 }
 
Index: sys/dev/acpi/acpica/Subsystem/dswexec.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/dswexec.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 dswexec.c
--- sys/dev/acpi/acpica/Subsystem/dswexec.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/dswexec.c	8 Mar 2006 04:07:30 -0000
@@ -2,7 +2,7 @@
  *
  * Module Name: dswexec - Dispatcher method execution callbacks;
  *                        dispatch to interpreter.
- *              xRevision: 1.124 $
+ *              xRevision: 1.125 $
  *
  *****************************************************************************/
 
@@ -184,9 +184,8 @@ AcpiDsGetPredicateValue (
         Status = AcpiDsResultPop (&ObjDesc, WalkState);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR ((
-                "Could not get result from predicate evaluation, %s\n",
-                AcpiFormatException (Status)));
+            ACPI_EXCEPTION ((AE_INFO, Status,
+                "Could not get result from predicate evaluation"));
 
             return_ACPI_STATUS (Status);
         }
@@ -210,8 +209,8 @@ AcpiDsGetPredicateValue (
 
     if (!ObjDesc)
     {
-        ACPI_REPORT_ERROR ((
-            "No predicate ObjDesc=%p State=%p\n",
+        ACPI_ERROR ((AE_INFO,
+            "No predicate ObjDesc=%p State=%p",
             ObjDesc, WalkState));
 
         return_ACPI_STATUS (AE_AML_NO_OPERAND);
@@ -229,8 +228,8 @@ AcpiDsGetPredicateValue (
 
     if (ACPI_GET_OBJECT_TYPE (LocalObjDesc) != ACPI_TYPE_INTEGER)
     {
-        ACPI_REPORT_ERROR ((
-            "Bad predicate (not an integer) ObjDesc=%p State=%p Type=%X\n",
+        ACPI_ERROR ((AE_INFO,
+            "Bad predicate (not an integer) ObjDesc=%p State=%p Type=%X",
             ObjDesc, WalkState, ACPI_GET_OBJECT_TYPE (ObjDesc)));
 
         Status = AE_AML_OPERAND_TYPE;
@@ -474,7 +473,7 @@ AcpiDsExecEndOp (
 
     if (OpClass == AML_CLASS_UNKNOWN)
     {
-        ACPI_REPORT_ERROR (("Unknown opcode %X\n", Op->Common.AmlOpcode));
+        ACPI_ERROR ((AE_INFO, "Unknown opcode %X", Op->Common.AmlOpcode));
         return_ACPI_STATUS (AE_NOT_IMPLEMENTED);
     }
 
@@ -564,10 +563,9 @@ AcpiDsExecEndOp (
             }
             else
             {
-                ACPI_REPORT_ERROR ((
-                    "[%s]: Could not resolve operands, %s\n",
-                    AcpiPsGetOpcodeName (WalkState->Opcode),
-                    AcpiFormatException (Status)));
+                ACPI_EXCEPTION ((AE_INFO, Status,
+                    "While resolving operands for [%s]",
+                    AcpiPsGetOpcodeName (WalkState->Opcode)));
             }
         }
 
@@ -786,8 +784,8 @@ AcpiDsExecEndOp (
 
         case AML_TYPE_UNDEFINED:
 
-            ACPI_REPORT_ERROR ((
-                "Undefined opcode type Op=%p\n", Op));
+            ACPI_ERROR ((AE_INFO,
+                "Undefined opcode type Op=%p", Op));
             return_ACPI_STATUS (AE_NOT_IMPLEMENTED);
 
 
@@ -801,8 +799,8 @@ AcpiDsExecEndOp (
 
         default:
 
-            ACPI_REPORT_ERROR ((
-                "Unimplemented opcode, class=%X type=%X Opcode=%X Op=%p\n",
+            ACPI_ERROR ((AE_INFO,
+                "Unimplemented opcode, class=%X type=%X Opcode=%X Op=%p",
                 OpClass, OpType, Op->Common.AmlOpcode, Op));
 
             Status = AE_NOT_IMPLEMENTED;
Index: sys/dev/acpi/acpica/Subsystem/dswload.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/dswload.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 dswload.c
--- sys/dev/acpi/acpica/Subsystem/dswload.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/dswload.c	8 Mar 2006 04:07:30 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: dswload - Dispatcher namespace load callbacks
- *              xRevision: 1.105 $
+ *              xRevision: 1.106 $
  *
  *****************************************************************************/
 
@@ -274,7 +274,7 @@ AcpiDsLoad1BeginOp (
 #endif
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_NSERROR (Path, Status);
+            ACPI_ERROR_NAMESPACE (Path, Status);
             return_ACPI_STATUS (Status);
         }
 
@@ -320,8 +320,8 @@ AcpiDsLoad1BeginOp (
 
             /* All other types are an error */
 
-            ACPI_REPORT_ERROR ((
-                "Invalid type (%s) for target of Scope operator [%4.4s] (Cannot override)\n",
+            ACPI_ERROR ((AE_INFO,
+                "Invalid type (%s) for target of Scope operator [%4.4s] (Cannot override)",
                 AcpiUtGetTypeName (Node->Type), Path));
 
             return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
@@ -393,7 +393,7 @@ AcpiDsLoad1BeginOp (
                         ACPI_IMODE_LOAD_PASS1, Flags, WalkState, &(Node));
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_NSERROR (Path, Status);
+            ACPI_ERROR_NAMESPACE (Path, Status);
             return_ACPI_STATUS (Status);
         }
         break;
@@ -732,10 +732,10 @@ AcpiDsLoad2BeginOp (
             }
             else
             {
-                ACPI_REPORT_NSERROR (BufferPtr, Status);
+                ACPI_ERROR_NAMESPACE (BufferPtr, Status);
             }
 #else
-            ACPI_REPORT_NSERROR (BufferPtr, Status);
+            ACPI_ERROR_NAMESPACE (BufferPtr, Status);
 #endif
             return_ACPI_STATUS (Status);
         }
@@ -766,8 +766,8 @@ AcpiDsLoad2BeginOp (
              *  Scope (DEB) { ... }
              */
 
-            ACPI_REPORT_WARNING ((
-                "Type override - [%4.4s] had invalid type (%s) for Scope operator, changed to (Scope)\n",
+            ACPI_WARNING ((AE_INFO,
+                "Type override - [%4.4s] had invalid type (%s) for Scope operator, changed to (Scope)",
                 BufferPtr, AcpiUtGetTypeName (Node->Type)));
 
             Node->Type = ACPI_TYPE_ANY;
@@ -778,8 +778,8 @@ AcpiDsLoad2BeginOp (
 
             /* All other types are an error */
 
-            ACPI_REPORT_ERROR ((
-                "Invalid type (%s) for target of Scope operator [%4.4s]\n",
+            ACPI_ERROR ((AE_INFO,
+                "Invalid type (%s) for target of Scope operator [%4.4s]",
                 AcpiUtGetTypeName (Node->Type), BufferPtr));
 
             return (AE_AML_OPERAND_TYPE);
@@ -835,7 +835,7 @@ AcpiDsLoad2BeginOp (
 
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_NSERROR (BufferPtr, Status);
+        ACPI_ERROR_NAMESPACE (BufferPtr, Status);
         return_ACPI_STATUS (Status);
     }
 
@@ -1242,7 +1242,7 @@ AcpiDsLoad2EndOp (
         }
         else
         {
-            ACPI_REPORT_NSERROR (Arg->Common.Value.String, Status);
+            ACPI_ERROR_NAMESPACE (Arg->Common.Value.String, Status);
         }
         break;
 
Index: sys/dev/acpi/acpica/Subsystem/dswscope.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/dswscope.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 dswscope.c
--- sys/dev/acpi/acpica/Subsystem/dswscope.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/dswscope.c	8 Mar 2006 04:07:30 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: dswscope - Scope stack manipulation
- *              xRevision: 1.65 $
+ *              xRevision: 1.66 $
  *
  *****************************************************************************/
 
@@ -196,7 +196,7 @@ AcpiDsScopeStackPush (
     {
         /* Invalid scope   */
 
-        ACPI_REPORT_ERROR (("Null scope parameter\n"));
+        ACPI_ERROR ((AE_INFO, "Null scope parameter"));
         return_ACPI_STATUS (AE_BAD_PARAMETER);
     }
 
@@ -204,8 +204,8 @@ AcpiDsScopeStackPush (
 
     if (!AcpiUtValidObjectType (Type))
     {
-        ACPI_REPORT_WARNING ((
-            "Invalid object type: 0x%X\n", Type));
+        ACPI_WARNING ((AE_INFO,
+            "Invalid object type: 0x%X", Type));
     }
 
     /* Allocate a new scope object */
Index: sys/dev/acpi/acpica/Subsystem/dswstate.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/dswstate.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 dswstate.c
--- sys/dev/acpi/acpica/Subsystem/dswstate.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/dswstate.c	8 Mar 2006 04:07:30 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: dswstate - Dispatcher parse tree walk management routines
- *              xRevision: 1.92 $
+ *              xRevision: 1.93 $
  *
  *****************************************************************************/
 
@@ -183,15 +183,15 @@ AcpiDsResultRemove (
     State = WalkState->Results;
     if (!State)
     {
-        ACPI_REPORT_ERROR (("No result object pushed! State=%p\n",
+        ACPI_ERROR ((AE_INFO, "No result object pushed! State=%p",
             WalkState));
         return (AE_NOT_EXIST);
     }
 
     if (Index >= ACPI_OBJ_MAX_OPERAND)
     {
-        ACPI_REPORT_ERROR ((
-            "Index out of range: %X State=%p Num=%X\n",
+        ACPI_ERROR ((AE_INFO,
+            "Index out of range: %X State=%p Num=%X",
             Index, WalkState, State->Results.NumResults));
     }
 
@@ -199,8 +199,8 @@ AcpiDsResultRemove (
 
     if (!State->Results.ObjDesc [Index])
     {
-        ACPI_REPORT_ERROR ((
-            "Null operand! State=%p #Ops=%X, Index=%X\n",
+        ACPI_ERROR ((AE_INFO,
+            "Null operand! State=%p #Ops=%X, Index=%X",
             WalkState, State->Results.NumResults, Index));
         return (AE_AML_NO_RETURN_VALUE);
     }
@@ -255,7 +255,7 @@ AcpiDsResultPop (
 
     if (!State->Results.NumResults)
     {
-        ACPI_REPORT_ERROR (("Result stack is empty! State=%p\n",
+        ACPI_ERROR ((AE_INFO, "Result stack is empty! State=%p",
             WalkState));
         return (AE_AML_NO_RETURN_VALUE);
     }
@@ -283,8 +283,8 @@ AcpiDsResultPop (
         }
     }
 
-    ACPI_REPORT_ERROR ((
-        "No result objects! State=%p\n", WalkState));
+    ACPI_ERROR ((AE_INFO,
+        "No result objects! State=%p", WalkState));
     return (AE_AML_NO_RETURN_VALUE);
 }
 
@@ -318,14 +318,14 @@ AcpiDsResultPopFromBottom (
     State = WalkState->Results;
     if (!State)
     {
-        ACPI_REPORT_ERROR ((
-            "No result object pushed! State=%p\n", WalkState));
+        ACPI_ERROR ((AE_INFO,
+            "No result object pushed! State=%p", WalkState));
         return (AE_NOT_EXIST);
     }
 
     if (!State->Results.NumResults)
     {
-        ACPI_REPORT_ERROR (("No result objects! State=%p\n",
+        ACPI_ERROR ((AE_INFO, "No result objects! State=%p",
             WalkState));
         return (AE_AML_NO_RETURN_VALUE);
     }
@@ -347,8 +347,8 @@ AcpiDsResultPopFromBottom (
 
     if (!*Object)
     {
-        ACPI_REPORT_ERROR ((
-            "Null operand! State=%p #Ops=%X Index=%X\n",
+        ACPI_ERROR ((AE_INFO,
+            "Null operand! State=%p #Ops=%X Index=%X",
             WalkState, State->Results.NumResults, (UINT32) Index));
         return (AE_AML_NO_RETURN_VALUE);
     }
@@ -388,22 +388,22 @@ AcpiDsResultPush (
     State = WalkState->Results;
     if (!State)
     {
-        ACPI_REPORT_ERROR (("No result stack frame during push\n"));
+        ACPI_ERROR ((AE_INFO, "No result stack frame during push"));
         return (AE_AML_INTERNAL);
     }
 
     if (State->Results.NumResults == ACPI_OBJ_NUM_OPERANDS)
     {
-        ACPI_REPORT_ERROR ((
-            "Result stack overflow: Obj=%p State=%p Num=%X\n",
+        ACPI_ERROR ((AE_INFO,
+            "Result stack overflow: Obj=%p State=%p Num=%X",
             Object, WalkState, State->Results.NumResults));
         return (AE_STACK_OVERFLOW);
     }
 
     if (!Object)
     {
-        ACPI_REPORT_ERROR ((
-            "Null Object! Obj=%p State=%p Num=%X\n",
+        ACPI_ERROR ((AE_INFO,
+            "Null Object! Obj=%p State=%p Num=%X",
             Object, WalkState, State->Results.NumResults));
         return (AE_BAD_PARAMETER);
     }
@@ -523,8 +523,8 @@ AcpiDsObjStackPush (
 
     if (WalkState->NumOperands >= ACPI_OBJ_NUM_OPERANDS)
     {
-        ACPI_REPORT_ERROR ((
-            "Object stack overflow! Obj=%p State=%p #Ops=%X\n",
+        ACPI_ERROR ((AE_INFO,
+            "Object stack overflow! Obj=%p State=%p #Ops=%X",
             Object, WalkState, WalkState->NumOperands));
         return (AE_STACK_OVERFLOW);
     }
@@ -572,8 +572,8 @@ AcpiDsObjStackPop (
 
         if (WalkState->NumOperands == 0)
         {
-            ACPI_REPORT_ERROR ((
-                "Object stack underflow! Count=%X State=%p #Ops=%X\n",
+            ACPI_ERROR ((AE_INFO,
+                "Object stack underflow! Count=%X State=%p #Ops=%X",
                 PopCount, WalkState, WalkState->NumOperands));
             return (AE_STACK_UNDERFLOW);
         }
@@ -623,8 +623,8 @@ AcpiDsObjStackPopAndDelete (
 
         if (WalkState->NumOperands == 0)
         {
-            ACPI_REPORT_ERROR ((
-                "Object stack underflow! Count=%X State=%p #Ops=%X\n",
+            ACPI_ERROR ((AE_INFO,
+                "Object stack underflow! Count=%X State=%p #Ops=%X",
                 PopCount, WalkState, WalkState->NumOperands));
             return (AE_STACK_UNDERFLOW);
         }
@@ -981,14 +981,14 @@ AcpiDsDeleteWalkState (
 
     if (WalkState->DataType != ACPI_DESC_TYPE_WALK)
     {
-        ACPI_REPORT_ERROR (("%p is not a valid walk state\n",
+        ACPI_ERROR ((AE_INFO, "%p is not a valid walk state",
             WalkState));
         return;
     }
 
     if (WalkState->ParserState.Scope)
     {
-        ACPI_REPORT_ERROR (("%p walk still has a scope list\n",
+        ACPI_ERROR ((AE_INFO, "%p walk still has a scope list",
             WalkState));
     }
 
@@ -1057,23 +1057,23 @@ AcpiDsResultInsert (
     State = WalkState->Results;
     if (!State)
     {
-        ACPI_REPORT_ERROR (("No result object pushed! State=%p\n",
+        ACPI_ERROR ((AE_INFO, "No result object pushed! State=%p",
             WalkState));
         return (AE_NOT_EXIST);
     }
 
     if (Index >= ACPI_OBJ_NUM_OPERANDS)
     {
-        ACPI_REPORT_ERROR ((
-            "Index out of range: %X Obj=%p State=%p Num=%X\n",
+        ACPI_ERROR ((AE_INFO,
+            "Index out of range: %X Obj=%p State=%p Num=%X",
             Index, Object, WalkState, State->Results.NumResults));
         return (AE_BAD_PARAMETER);
     }
 
     if (!Object)
     {
-        ACPI_REPORT_ERROR ((
-            "Null Object! Index=%X Obj=%p State=%p Num=%X\n",
+        ACPI_ERROR ((AE_INFO,
+            "Null Object! Index=%X Obj=%p State=%p Num=%X",
             Index, Object, WalkState, State->Results.NumResults));
         return (AE_BAD_PARAMETER);
     }
@@ -1154,8 +1154,8 @@ AcpiDsObjStackPopObject (
 
     if (WalkState->NumOperands == 0)
     {
-        ACPI_REPORT_ERROR ((
-            "Missing operand/stack empty! State=%p #Ops=%X\n",
+        ACPI_ERROR ((AE_INFO,
+            "Missing operand/stack empty! State=%p #Ops=%X",
             WalkState, WalkState->NumOperands));
         *Object = NULL;
         return (AE_AML_NO_OPERAND);
@@ -1169,8 +1169,8 @@ AcpiDsObjStackPopObject (
 
     if (!WalkState->Operands [WalkState->NumOperands])
     {
-        ACPI_REPORT_ERROR ((
-            "Null operand! State=%p #Ops=%X\n",
+        ACPI_ERROR ((AE_INFO,
+            "Null operand! State=%p #Ops=%X",
             WalkState, WalkState->NumOperands));
         *Object = NULL;
         return (AE_AML_NO_OPERAND);
Index: sys/dev/acpi/acpica/Subsystem/evevent.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/evevent.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 evevent.c
--- sys/dev/acpi/acpica/Subsystem/evevent.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/evevent.c	8 Mar 2006 04:07:31 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: evevent - Fixed Event handling and dispatch
- *              xRevision: 1.120 $
+ *              xRevision: 1.121 $
  *
  *****************************************************************************/
 
@@ -160,7 +160,7 @@ AcpiEvInitializeEvents (
 
     if (!AcpiGbl_DSDT)
     {
-        ACPI_REPORT_WARNING (("No ACPI tables present!\n"));
+        ACPI_WARNING ((AE_INFO, "No ACPI tables present!"));
         return_ACPI_STATUS (AE_NO_ACPI_TABLES);
     }
 
@@ -172,18 +172,16 @@ AcpiEvInitializeEvents (
     Status = AcpiEvFixedEventInitialize ();
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR ((
-            "Unable to initialize fixed events, %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status,
+            "Unable to initialize fixed events"));
         return_ACPI_STATUS (Status);
     }
 
     Status = AcpiEvGpeInitialize ();
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR ((
-            "Unable to initialize general purpose events, %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status,
+            "Unable to initialize general purpose events"));
         return_ACPI_STATUS (Status);
     }
 
@@ -266,9 +264,8 @@ AcpiEvInstallXruptHandlers (
     Status = AcpiEvInstallSciHandler ();
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR ((
-            "Unable to install System Control Interrupt Handler, %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status,
+            "Unable to install System Control Interrupt handler"));
         return_ACPI_STATUS (Status);
     }
 
@@ -277,9 +274,8 @@ AcpiEvInstallXruptHandlers (
     Status = AcpiEvInitGlobalLockHandler ();
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR ((
-            "Unable to initialize Global Lock handler, %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status,
+            "Unable to initialize Global Lock handler"));
         return_ACPI_STATUS (Status);
     }
 
@@ -429,8 +425,8 @@ AcpiEvFixedEventDispatch (
         (void) AcpiSetRegister (AcpiGbl_FixedEventInfo[Event].EnableRegisterId,
                 0, ACPI_MTX_DO_NOT_LOCK);
 
-        ACPI_REPORT_ERROR ((
-            "No installed handler for fixed event [%08X]\n",
+        ACPI_ERROR ((AE_INFO,
+            "No installed handler for fixed event [%08X]",
             Event));
 
         return (ACPI_INTERRUPT_NOT_HANDLED);
Index: sys/dev/acpi/acpica/Subsystem/evgpe.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/evgpe.c,v
retrieving revision 1.10
diff -u -u -p -r1.10 evgpe.c
--- sys/dev/acpi/acpica/Subsystem/evgpe.c	29 Jan 2006 03:05:47 -0000	1.10
+++ sys/dev/acpi/acpica/Subsystem/evgpe.c	8 Mar 2006 04:07:31 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: evgpe - General Purpose Event handling and dispatch
- *              xRevision: 1.55 $
+ *              xRevision: 1.57 $
  *
  *****************************************************************************/
 
@@ -491,7 +491,7 @@ AcpiEvGpeDetect (
     UINT8                   EnabledStatusByte;
     UINT32                  StatusReg;
     UINT32                  EnableReg;
-    ACPI_NATIVE_UINT        Flags;
+    ACPI_CPU_FLAGS          Flags;
     ACPI_NATIVE_UINT        i;
     ACPI_NATIVE_UINT        j;
 
@@ -662,9 +662,8 @@ AcpiEvAsynchExecuteGpeMethod (
         Status = AcpiNsEvaluateByHandle (&Info);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR ((
-                "%s while evaluating method [%4.4s] for GPE[%2X]\n",
-                AcpiFormatException (Status),
+            ACPI_EXCEPTION ((AE_INFO, Status,
+                "While evaluating method [%4.4s] for GPE[%2X]",
                 AcpiUtGetNodeName (LocalGpeEventInfo.Dispatch.MethodNode),
                 GpeNumber));
         }
@@ -728,9 +727,8 @@ AcpiEvGpeDispatch (
         Status = AcpiHwClearGpe (GpeEventInfo);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR ((
-                "%s, Unable to clear GPE[%2X]\n",
-                AcpiFormatException (Status), GpeNumber));
+            ACPI_EXCEPTION ((AE_INFO, Status,
+                "Unable to clear GPE[%2X]", GpeNumber));
             return_UINT32 (ACPI_INTERRUPT_NOT_HANDLED);
         }
     }
@@ -772,9 +770,8 @@ AcpiEvGpeDispatch (
             Status = AcpiHwClearGpe (GpeEventInfo);
             if (ACPI_FAILURE (Status))
             {
-                ACPI_REPORT_ERROR ((
-                    "%s, Unable to clear GPE[%2X]\n",
-                    AcpiFormatException (Status), GpeNumber));
+                ACPI_EXCEPTION ((AE_INFO, Status,
+                    "Unable to clear GPE[%2X]", GpeNumber));
                 return_UINT32 (ACPI_INTERRUPT_NOT_HANDLED);
             }
         }
@@ -789,9 +786,8 @@ AcpiEvGpeDispatch (
         Status = AcpiEvDisableGpe (GpeEventInfo);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR ((
-                "%s, Unable to disable GPE[%2X]\n",
-                AcpiFormatException (Status), GpeNumber));
+            ACPI_EXCEPTION ((AE_INFO, Status,
+                "Unable to disable GPE[%2X]", GpeNumber));
             return_UINT32 (ACPI_INTERRUPT_NOT_HANDLED);
         }
 
@@ -803,9 +799,9 @@ AcpiEvGpeDispatch (
                     AcpiEvAsynchExecuteGpeMethod, GpeEventInfo);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR ((
-                "%s, Unable to queue handler for GPE[%2X] - event disabled\n",
-                AcpiFormatException (Status), GpeNumber));
+            ACPI_EXCEPTION ((AE_INFO, Status,
+                "Unable to queue handler for GPE[%2X] - event disabled",
+                GpeNumber));
         }
         break;
 
@@ -813,8 +809,8 @@ AcpiEvGpeDispatch (
 
         /* No handler or method to run! */
 
-        ACPI_REPORT_ERROR ((
-            "No handler or method for GPE[%2X], disabling event\n",
+        ACPI_ERROR ((AE_INFO,
+            "No handler or method for GPE[%2X], disabling event",
             GpeNumber));
 
         /*
@@ -824,9 +820,8 @@ AcpiEvGpeDispatch (
         Status = AcpiEvDisableGpe (GpeEventInfo);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR ((
-                "%s, Unable to disable GPE[%2X]\n",
-                AcpiFormatException (Status), GpeNumber));
+            ACPI_EXCEPTION ((AE_INFO, Status,
+                "Unable to disable GPE[%2X]", GpeNumber));
             return_UINT32 (ACPI_INTERRUPT_NOT_HANDLED);
         }
         break;
@@ -874,7 +869,7 @@ AcpiEvCheckForWakeOnlyGpe (
 
         AcpiEvSetGpeType (GpeEventInfo, ACPI_GPE_TYPE_WAKE);
 
-        ACPI_REPORT_INFO (("GPE %p was updated from wake/run to wake-only\n",
+        ACPI_INFO ((AE_INFO, "GPE %p was updated from wake/run to wake-only",
                 GpeEventInfo));
 
         /* This was a wake-only GPE */
Index: sys/dev/acpi/acpica/Subsystem/evgpeblk.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/evgpeblk.c,v
retrieving revision 1.10
diff -u -u -p -r1.10 evgpeblk.c
--- sys/dev/acpi/acpica/Subsystem/evgpeblk.c	29 Jan 2006 03:05:47 -0000	1.10
+++ sys/dev/acpi/acpica/Subsystem/evgpeblk.c	8 Mar 2006 04:07:31 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: evgpeblk - GPE block creation and initialization.
- *              xRevision: 1.51 $
+ *              xRevision: 1.53 $
  *
  *****************************************************************************/
 
@@ -231,7 +231,7 @@ AcpiEvWalkGpeList (
     ACPI_GPE_BLOCK_INFO     *GpeBlock;
     ACPI_GPE_XRUPT_INFO     *GpeXruptInfo;
     ACPI_STATUS             Status = AE_OK;
-    ACPI_NATIVE_UINT        Flags;
+    ACPI_CPU_FLAGS          Flags;
 
 
     ACPI_FUNCTION_TRACE ("EvWalkGpeList");
@@ -389,8 +389,8 @@ AcpiEvSaveMethodInfo (
     default:
         /* Unknown method type, just ignore it! */
 
-        ACPI_REPORT_ERROR ((
-            "Unknown GPE method type: %s (name not of form _Lxx or _Exx)\n",
+        ACPI_ERROR ((AE_INFO,
+            "Unknown GPE method type: %s (name not of form _Lxx or _Exx)",
             Name));
         return_ACPI_STATUS (AE_OK);
     }
@@ -402,8 +402,8 @@ AcpiEvSaveMethodInfo (
     {
         /* Conversion failed; invalid method, just ignore it */
 
-        ACPI_REPORT_ERROR ((
-            "Could not extract GPE number from name: %s (name is not of form _Lxx or _Exx)\n",
+        ACPI_ERROR ((AE_INFO,
+            "Could not extract GPE number from name: %s (name is not of form _Lxx or _Exx)",
             Name));
         return_ACPI_STATUS (AE_OK);
     }
@@ -596,7 +596,7 @@ AcpiEvGetGpeXruptBlock (
     ACPI_GPE_XRUPT_INFO     *NextGpeXrupt;
     ACPI_GPE_XRUPT_INFO     *GpeXrupt;
     ACPI_STATUS             Status;
-    ACPI_NATIVE_UINT        Flags;
+    ACPI_CPU_FLAGS          Flags;
 
 
     ACPI_FUNCTION_TRACE ("EvGetGpeXruptBlock");
@@ -653,8 +653,8 @@ AcpiEvGetGpeXruptBlock (
                     AcpiEvGpeXruptHandler, GpeXrupt);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR ((
-                "Could not install GPE interrupt handler at level 0x%X\n",
+            ACPI_ERROR ((AE_INFO,
+                "Could not install GPE interrupt handler at level 0x%X",
                 InterruptNumber));
             return_PTR (NULL);
         }
@@ -682,7 +682,7 @@ AcpiEvDeleteGpeXrupt (
     ACPI_GPE_XRUPT_INFO     *GpeXrupt)
 {
     ACPI_STATUS             Status;
-    ACPI_NATIVE_UINT        Flags;
+    ACPI_CPU_FLAGS          Flags;
 
 
     ACPI_FUNCTION_TRACE ("EvDeleteGpeXrupt");
@@ -747,7 +747,7 @@ AcpiEvInstallGpeBlock (
     ACPI_GPE_BLOCK_INFO     *NextGpeBlock;
     ACPI_GPE_XRUPT_INFO     *GpeXruptBlock;
     ACPI_STATUS             Status;
-    ACPI_NATIVE_UINT        Flags;
+    ACPI_CPU_FLAGS          Flags;
 
 
     ACPI_FUNCTION_TRACE ("EvInstallGpeBlock");
@@ -812,7 +812,7 @@ AcpiEvDeleteGpeBlock (
     ACPI_GPE_BLOCK_INFO     *GpeBlock)
 {
     ACPI_STATUS             Status;
-    ACPI_NATIVE_UINT        Flags;
+    ACPI_CPU_FLAGS          Flags;
 
 
     ACPI_FUNCTION_TRACE ("EvInstallGpeBlock");
@@ -906,8 +906,8 @@ AcpiEvCreateGpeInfoBlocks (
                             sizeof (ACPI_GPE_REGISTER_INFO));
     if (!GpeRegisterInfo)
     {
-        ACPI_REPORT_ERROR ((
-            "Could not allocate the GpeRegisterInfo table\n"));
+        ACPI_ERROR ((AE_INFO,
+            "Could not allocate the GpeRegisterInfo table"));
         return_ACPI_STATUS (AE_NO_MEMORY);
     }
 
@@ -921,8 +921,8 @@ AcpiEvCreateGpeInfoBlocks (
                         sizeof (ACPI_GPE_EVENT_INFO));
     if (!GpeEventInfo)
     {
-        ACPI_REPORT_ERROR ((
-            "Could not allocate the GpeEventInfo table\n"));
+        ACPI_ERROR ((AE_INFO,
+            "Could not allocate the GpeEventInfo table"));
         Status = AE_NO_MEMORY;
         goto ErrorExit;
     }
@@ -1215,7 +1215,7 @@ AcpiEvInitializeGpeBlock (
     Status = AcpiHwEnableRuntimeGpeBlock (NULL, GpeBlock);
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("Could not enable GPEs in GpeBlock %p\n",
+        ACPI_ERROR ((AE_INFO, "Could not enable GPEs in GpeBlock %p",
             GpeBlock));
     }
 
@@ -1296,9 +1296,8 @@ AcpiEvGpeInitialize (
 
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR ((
-                "Could not create GPE Block 0, %s\n",
-                AcpiFormatException (Status)));
+            ACPI_EXCEPTION ((AE_INFO, Status,
+                "Could not create GPE Block 0"));
         }
     }
 
@@ -1314,8 +1313,8 @@ AcpiEvGpeInitialize (
         if ((RegisterCount0) &&
             (GpeNumberMax >= AcpiGbl_FADT->Gpe1Base))
         {
-            ACPI_REPORT_ERROR ((
-                "GPE0 block (GPE 0 to %d) overlaps the GPE1 block (GPE %d to %d) - Ignoring GPE1\n",
+            ACPI_ERROR ((AE_INFO,
+                "GPE0 block (GPE 0 to %d) overlaps the GPE1 block (GPE %d to %d) - Ignoring GPE1",
                 GpeNumberMax, AcpiGbl_FADT->Gpe1Base,
                 AcpiGbl_FADT->Gpe1Base +
                 ((RegisterCount1 * ACPI_GPE_REGISTER_WIDTH) - 1)));
@@ -1335,9 +1334,8 @@ AcpiEvGpeInitialize (
 
             if (ACPI_FAILURE (Status))
             {
-                ACPI_REPORT_ERROR ((
-                    "Could not create GPE Block 1, %s\n",
-                    AcpiFormatException (Status)));
+                ACPI_EXCEPTION ((AE_INFO, Status,
+                    "Could not create GPE Block 1"));
             }
 
             /*
@@ -1365,8 +1363,8 @@ AcpiEvGpeInitialize (
 
     if (GpeNumberMax > ACPI_GPE_MAX)
     {
-        ACPI_REPORT_ERROR ((
-            "Maximum GPE number from FADT is too large: 0x%X\n",
+        ACPI_ERROR ((AE_INFO,
+            "Maximum GPE number from FADT is too large: 0x%X",
             GpeNumberMax));
         Status = AE_BAD_VALUE;
         goto Cleanup;
Index: sys/dev/acpi/acpica/Subsystem/evmisc.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/evmisc.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 evmisc.c
--- sys/dev/acpi/acpica/Subsystem/evmisc.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/evmisc.c	8 Mar 2006 04:07:32 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: evmisc - Miscellaneous event manager support functions
- *              xRevision: 1.88 $
+ *              xRevision: 1.89 $
  *
  *****************************************************************************/
 
@@ -417,7 +417,7 @@ AcpiEvGlobalLockThread (
                                 AcpiGbl_GlobalLockThreadCount);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR (("Could not signal Global Lock semaphore\n"));
+            ACPI_ERROR ((AE_INFO, "Could not signal Global Lock semaphore"));
         }
     }
 }
@@ -463,8 +463,8 @@ AcpiEvGlobalLockHandler (
                         AcpiEvGlobalLockThread, Context);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR (("Could not queue Global Lock thread, %s\n",
-                AcpiFormatException (Status)));
+            ACPI_EXCEPTION ((AE_INFO, Status,
+                "Could not queue Global Lock thread"));
 
             return (ACPI_INTERRUPT_NOT_HANDLED);
         }
@@ -509,8 +509,8 @@ AcpiEvInitGlobalLockHandler (
      */
     if (Status == AE_NO_HARDWARE_RESPONSE)
     {
-        ACPI_REPORT_ERROR ((
-            "No response from Global Lock hardware, disabling lock\n"));
+        ACPI_ERROR ((AE_INFO,
+            "No response from Global Lock hardware, disabling lock"));
 
         AcpiGbl_GlobalLockPresent = FALSE;
         Status = AE_OK;
@@ -619,8 +619,8 @@ AcpiEvReleaseGlobalLock (
 
     if (!AcpiGbl_GlobalLockThreadCount)
     {
-        ACPI_REPORT_WARNING ((
-            "Cannot release HW Global Lock, it has not been acquired\n"));
+        ACPI_WARNING ((AE_INFO,
+            "Cannot release HW Global Lock, it has not been acquired"));
         return_ACPI_STATUS (AE_NOT_ACQUIRED);
     }
 
@@ -692,8 +692,8 @@ AcpiEvTerminate (
             Status = AcpiDisableEvent ((UINT32) i, 0);
             if (ACPI_FAILURE (Status))
             {
-                ACPI_REPORT_ERROR ((
-                    "Could not disable fixed event %d\n", (UINT32) i));
+                ACPI_ERROR ((AE_INFO,
+                    "Could not disable fixed event %d", (UINT32) i));
             }
         }
 
@@ -706,8 +706,8 @@ AcpiEvTerminate (
         Status = AcpiEvRemoveSciHandler ();
         if (ACPI_FAILURE(Status))
         {
-            ACPI_REPORT_ERROR ((
-                "Could not remove SCI handler\n"));
+            ACPI_ERROR ((AE_INFO,
+                "Could not remove SCI handler"));
         }
     }
 
@@ -722,7 +722,7 @@ AcpiEvTerminate (
         Status = AcpiDisable ();
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_WARNING (("AcpiDisable failed\n"));
+            ACPI_WARNING ((AE_INFO, "AcpiDisable failed"));
         }
     }
     return_VOID;
Index: sys/dev/acpi/acpica/Subsystem/evregion.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/evregion.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 evregion.c
--- sys/dev/acpi/acpica/Subsystem/evregion.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/evregion.c	8 Mar 2006 04:07:32 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: evregion - ACPI AddressSpace (OpRegion) handler dispatch
- *              xRevision: 1.158 $
+ *              xRevision: 1.159 $
  *
  *****************************************************************************/
 
@@ -409,8 +409,8 @@ AcpiEvAddressSpaceDispatch (
     HandlerDesc = RegionObj->Region.Handler;
     if (!HandlerDesc)
     {
-        ACPI_REPORT_ERROR ((
-            "No handler for Region [%4.4s] (%p) [%s]\n",
+        ACPI_ERROR ((AE_INFO,
+            "No handler for Region [%4.4s] (%p) [%s]",
             AcpiUtGetNodeName (RegionObj->Region.Node),
             RegionObj, AcpiUtGetRegionName (RegionObj->Region.SpaceId)));
 
@@ -431,8 +431,8 @@ AcpiEvAddressSpaceDispatch (
         {
             /* No initialization routine, exit with error */
 
-            ACPI_REPORT_ERROR ((
-                "No init routine for region(%p) [%s]\n",
+            ACPI_ERROR ((AE_INFO,
+                "No init routine for region(%p) [%s]",
                 RegionObj, AcpiUtGetRegionName (RegionObj->Region.SpaceId)));
             return_ACPI_STATUS (AE_NOT_EXIST);
         }
@@ -459,8 +459,8 @@ AcpiEvAddressSpaceDispatch (
 
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR (("Region Initialization: %s [%s]\n",
-                AcpiFormatException (Status),
+            ACPI_EXCEPTION ((AE_INFO, Status,
+                "During region initialization: [%s]",
                 AcpiUtGetRegionName (RegionObj->Region.SpaceId)));
             return_ACPI_STATUS (Status);
         }
@@ -517,9 +517,8 @@ AcpiEvAddressSpaceDispatch (
 
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("Handler for [%s] returned %s\n",
-            AcpiUtGetRegionName (RegionObj->Region.SpaceId),
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status, "Returned by Handler for [%s]",
+            AcpiUtGetRegionName (RegionObj->Region.SpaceId)));
     }
 
     if (!(HandlerDesc->AddressSpace.Hflags & ACPI_ADDR_HANDLER_DEFAULT_INSTALLED))
@@ -621,8 +620,7 @@ AcpiEvDetachRegion(
             Status = AcpiEvExecuteRegMethod (RegionObj, 0);
             if (ACPI_FAILURE (Status))
             {
-                ACPI_REPORT_ERROR (("%s from region _REG, [%s]\n",
-                    AcpiFormatException (Status),
+                ACPI_EXCEPTION ((AE_INFO, Status, "from region _REG, [%s]",
                     AcpiUtGetRegionName (RegionObj->Region.SpaceId)));
             }
 
@@ -645,8 +643,7 @@ AcpiEvDetachRegion(
 
             if (ACPI_FAILURE (Status))
             {
-                ACPI_REPORT_ERROR (("%s from region init, [%s]\n",
-                    AcpiFormatException (Status),
+                ACPI_EXCEPTION ((AE_INFO, Status, "from region init, [%s]",
                     AcpiUtGetRegionName (RegionObj->Region.SpaceId)));
             }
 
Index: sys/dev/acpi/acpica/Subsystem/evrgnini.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/evrgnini.c,v
retrieving revision 1.14
diff -u -u -p -r1.14 evrgnini.c
--- sys/dev/acpi/acpica/Subsystem/evrgnini.c	29 Jan 2006 03:05:47 -0000	1.14
+++ sys/dev/acpi/acpica/Subsystem/evrgnini.c	8 Mar 2006 04:07:32 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: evrgnini- ACPI AddressSpace (OpRegion) init
- *              xRevision: 1.79 $
+ *              xRevision: 1.80 $
  *
  *****************************************************************************/
 
@@ -334,9 +334,9 @@ AcpiEvPciConfigRegionSetup (
                         }
                         else
                         {
-                            ACPI_REPORT_ERROR ((
-                                "Could not install PciConfig handler for Root Bridge %4.4s, %s\n",
-                                AcpiUtGetNodeName (PciRootNode), AcpiFormatException (Status)));
+                            ACPI_EXCEPTION ((AE_INFO, Status,
+                                "Could not install PciConfig handler for Root Bridge %4.4s",
+                                AcpiUtGetNodeName (PciRootNode)));
                         }
                     }
                     break;
Index: sys/dev/acpi/acpica/Subsystem/evxface.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/evxface.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 evxface.c
--- sys/dev/acpi/acpica/Subsystem/evxface.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/evxface.c	8 Mar 2006 04:07:33 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: evxface - External interfaces for ACPI events
- *              xRevision: 1.155 $
+ *              xRevision: 1.157 $
  *
  *****************************************************************************/
 
@@ -233,7 +233,7 @@ AcpiInstallFixedEventHandler (
     Status = AcpiEnableEvent (Event, 0);
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_WARNING (("Could not enable fixed event %X\n", Event));
+        ACPI_WARNING ((AE_INFO, "Could not enable fixed event %X", Event));
 
         /* Remove the handler */
 
@@ -301,8 +301,8 @@ AcpiRemoveFixedEventHandler (
 
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_WARNING ((
-            "Could not write to fixed event enable register %X\n", Event));
+        ACPI_WARNING ((AE_INFO,
+            "Could not write to fixed event enable register %X", Event));
     }
     else
     {
@@ -680,7 +680,7 @@ AcpiInstallGpeHandler (
     ACPI_GPE_EVENT_INFO     *GpeEventInfo;
     ACPI_HANDLER_INFO       *Handler;
     ACPI_STATUS             Status;
-    ACPI_NATIVE_UINT        Flags;
+    ACPI_CPU_FLAGS          Flags;
 
 
     ACPI_FUNCTION_TRACE ("AcpiInstallGpeHandler");
@@ -780,7 +780,7 @@ AcpiRemoveGpeHandler (
     ACPI_GPE_EVENT_INFO     *GpeEventInfo;
     ACPI_HANDLER_INFO       *Handler;
     ACPI_STATUS             Status;
-    ACPI_NATIVE_UINT        Flags;
+    ACPI_CPU_FLAGS          Flags;
 
 
     ACPI_FUNCTION_TRACE ("AcpiRemoveGpeHandler");
Index: sys/dev/acpi/acpica/Subsystem/evxfevnt.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/evxfevnt.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 evxfevnt.c
--- sys/dev/acpi/acpica/Subsystem/evxfevnt.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/evxfevnt.c	8 Mar 2006 04:07:33 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: evxfevnt - External Interfaces, ACPI event disable/enable
- *              xRevision: 1.85 $
+ *              xRevision: 1.86 $
  *
  *****************************************************************************/
 
@@ -154,7 +154,7 @@ AcpiEnable (
 
     if (!AcpiGbl_FADT)
     {
-        ACPI_REPORT_WARNING (("No FADT information present!\n"));
+        ACPI_WARNING ((AE_INFO, "No FADT information present!"));
         return_ACPI_STATUS (AE_NO_ACPI_TABLES);
     }
 
@@ -169,7 +169,7 @@ AcpiEnable (
         Status = AcpiHwSetMode (ACPI_SYS_MODE_ACPI);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR (("Could not transition to ACPI mode\n"));
+            ACPI_ERROR ((AE_INFO, "Could not transition to ACPI mode"));
             return_ACPI_STATUS (Status);
         }
 
@@ -205,7 +205,7 @@ AcpiDisable (
 
     if (!AcpiGbl_FADT)
     {
-        ACPI_REPORT_WARNING (("No FADT information present!\n"));
+        ACPI_WARNING ((AE_INFO, "No FADT information present!"));
         return_ACPI_STATUS (AE_NO_ACPI_TABLES);
     }
 
@@ -222,7 +222,7 @@ AcpiDisable (
 
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR ((
+            ACPI_ERROR ((AE_INFO,
                 "Could not exit ACPI mode to legacy mode"));
             return_ACPI_STATUS (Status);
         }
@@ -288,8 +288,8 @@ AcpiEnableEvent (
 
     if (Value != 1)
     {
-        ACPI_REPORT_ERROR ((
-            "Could not enable %s event\n", AcpiUtGetEventName (Event)));
+        ACPI_ERROR ((AE_INFO,
+            "Could not enable %s event", AcpiUtGetEventName (Event)));
         return_ACPI_STATUS (AE_NO_HARDWARE_RESPONSE);
     }
 
@@ -519,8 +519,8 @@ AcpiDisableEvent (
 
     if (Value != 0)
     {
-        ACPI_REPORT_ERROR ((
-            "Could not disable %s events\n", AcpiUtGetEventName (Event)));
+        ACPI_ERROR ((AE_INFO,
+            "Could not disable %s events", AcpiUtGetEventName (Event)));
         return_ACPI_STATUS (AE_NO_HARDWARE_RESPONSE);
     }
 
Index: sys/dev/acpi/acpica/Subsystem/exconfig.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/exconfig.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 exconfig.c
--- sys/dev/acpi/acpica/Subsystem/exconfig.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/exconfig.c	8 Mar 2006 04:07:33 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: exconfig - Namespace reconfiguration (Load/Unload opcodes)
- *              xRevision: 1.89 $
+ *              xRevision: 1.90 $
  *
  *****************************************************************************/
 
@@ -522,8 +522,8 @@ AcpiExLoadOp (
                     AcpiGbl_TableData[ACPI_TABLE_SSDT].Signature,
                     AcpiGbl_TableData[ACPI_TABLE_SSDT].SigLength)))
     {
-        ACPI_REPORT_ERROR ((
-            "Table has invalid signature [%4.4s], must be SSDT or PSDT\n",
+        ACPI_ERROR ((AE_INFO,
+            "Table has invalid signature [%4.4s], must be SSDT or PSDT",
             TablePtr->Signature));
         Status = AE_BAD_SIGNATURE;
         goto Cleanup;
Index: sys/dev/acpi/acpica/Subsystem/exconvrt.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/exconvrt.c,v
retrieving revision 1.15
diff -u -u -p -r1.15 exconvrt.c
--- sys/dev/acpi/acpica/Subsystem/exconvrt.c	29 Jan 2006 03:05:47 -0000	1.15
+++ sys/dev/acpi/acpica/Subsystem/exconvrt.c	8 Mar 2006 04:07:33 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: exconvrt - Object conversion routines
- *              xRevision: 1.70 $
+ *              xRevision: 1.71 $
  *
  *****************************************************************************/
 
@@ -777,7 +777,7 @@ AcpiExConvertToTargetType (
 
 
         default:
-            ACPI_REPORT_ERROR (("Bad destination type during conversion: %X\n",
+            ACPI_ERROR ((AE_INFO, "Bad destination type during conversion: %X",
                 DestinationType));
             Status = AE_AML_INTERNAL;
             break;
@@ -793,8 +793,8 @@ AcpiExConvertToTargetType (
 
 
     default:
-        ACPI_REPORT_ERROR ((
-            "Unknown Target type ID 0x%X AmlOpcode %X DestType %s\n",
+        ACPI_ERROR ((AE_INFO,
+            "Unknown Target type ID 0x%X AmlOpcode %X DestType %s",
             GET_CURRENT_ARG_TYPE (WalkState->OpInfo->RuntimeArgs),
             WalkState->Opcode, AcpiUtGetTypeName (DestinationType)));
         Status = AE_AML_INTERNAL;
Index: sys/dev/acpi/acpica/Subsystem/excreate.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/excreate.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 excreate.c
--- sys/dev/acpi/acpica/Subsystem/excreate.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/excreate.c	8 Mar 2006 04:07:34 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: excreate - Named object creation
- *              xRevision: 1.107 $
+ *              xRevision: 1.108 $
  *
  *****************************************************************************/
 
@@ -401,7 +401,7 @@ AcpiExCreateRegion (
     if ((RegionSpace >= ACPI_NUM_PREDEFINED_REGIONS) &&
         (RegionSpace < ACPI_USER_REGION_BEGIN))
     {
-        ACPI_REPORT_ERROR (("Invalid AddressSpace type %X\n", RegionSpace));
+        ACPI_ERROR ((AE_INFO, "Invalid AddressSpace type %X", RegionSpace));
         return_ACPI_STATUS (AE_AML_INVALID_SPACE_ID);
     }
 
Index: sys/dev/acpi/acpica/Subsystem/exfield.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/exfield.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 exfield.c
--- sys/dev/acpi/acpica/Subsystem/exfield.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/exfield.c	8 Mar 2006 04:07:34 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: exfield - ACPI AML (p-code) execution - field manipulation
- *              xRevision: 1.125 $
+ *              xRevision: 1.126 $
  *
  *****************************************************************************/
 
@@ -349,7 +349,7 @@ AcpiExWriteDataToField (
          */
         if (ACPI_GET_OBJECT_TYPE (SourceDesc) != ACPI_TYPE_BUFFER)
         {
-            ACPI_REPORT_ERROR (("SMBus write requires Buffer, found type %s\n",
+            ACPI_ERROR ((AE_INFO, "SMBus write requires Buffer, found type %s",
                 AcpiUtGetObjectTypeName (SourceDesc)));
 
             return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
@@ -357,8 +357,8 @@ AcpiExWriteDataToField (
 
         if (SourceDesc->Buffer.Length < ACPI_SMBUS_BUFFER_SIZE)
         {
-            ACPI_REPORT_ERROR ((
-                "SMBus write requires Buffer of length %X, found length %X\n",
+            ACPI_ERROR ((AE_INFO,
+                "SMBus write requires Buffer of length %X, found length %X",
                 ACPI_SMBUS_BUFFER_SIZE, SourceDesc->Buffer.Length));
 
             return_ACPI_STATUS (AE_AML_BUFFER_LIMIT);
Index: sys/dev/acpi/acpica/Subsystem/exfldio.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/exfldio.c,v
retrieving revision 1.14
diff -u -u -p -r1.14 exfldio.c
--- sys/dev/acpi/acpica/Subsystem/exfldio.c	29 Jan 2006 03:05:47 -0000	1.14
+++ sys/dev/acpi/acpica/Subsystem/exfldio.c	8 Mar 2006 04:07:34 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: exfldio - Aml Field I/O
- *              xRevision: 1.118 $
+ *              xRevision: 1.119 $
  *
  *****************************************************************************/
 
@@ -184,7 +184,7 @@ AcpiExSetupRegion (
 
     if (ACPI_GET_OBJECT_TYPE (RgnDesc) != ACPI_TYPE_REGION)
     {
-        ACPI_REPORT_ERROR (("Needed Region, found type %X (%s)\n",
+        ACPI_ERROR ((AE_INFO, "Needed Region, found type %X (%s)",
             ACPI_GET_OBJECT_TYPE (RgnDesc),
             AcpiUtGetObjectTypeName (RgnDesc)));
 
@@ -258,8 +258,8 @@ AcpiExSetupRegion (
              * than the region itself.  For example, a region of length one
              * byte, and a field with Dword access specified.
              */
-            ACPI_REPORT_ERROR ((
-                "Field [%4.4s] access width (%d bytes) too large for region [%4.4s] (length %X)\n",
+            ACPI_ERROR ((AE_INFO,
+                "Field [%4.4s] access width (%d bytes) too large for region [%4.4s] (length %X)",
                 AcpiUtGetNodeName (ObjDesc->CommonField.Node),
                 ObjDesc->CommonField.AccessByteWidth,
                 AcpiUtGetNodeName (RgnDesc->Region.Node),
@@ -270,8 +270,8 @@ AcpiExSetupRegion (
          * Offset rounded up to next multiple of field width
          * exceeds region length, indicate an error
          */
-        ACPI_REPORT_ERROR ((
-            "Field [%4.4s] Base+Offset+Width %X+%X+%X is beyond end of region [%4.4s] (length %X)\n",
+        ACPI_ERROR ((AE_INFO,
+            "Field [%4.4s] Base+Offset+Width %X+%X+%X is beyond end of region [%4.4s] (length %X)",
             AcpiUtGetNodeName (ObjDesc->CommonField.Node),
             ObjDesc->CommonField.BaseByteOffset,
             FieldDatumByteOffset, ObjDesc->CommonField.AccessByteWidth,
@@ -368,15 +368,15 @@ AcpiExAccessRegion (
     {
         if (Status == AE_NOT_IMPLEMENTED)
         {
-            ACPI_REPORT_ERROR ((
-                "Region %s(%X) not implemented\n",
+            ACPI_ERROR ((AE_INFO,
+                "Region %s(%X) not implemented",
                 AcpiUtGetRegionName (RgnDesc->Region.SpaceId),
                 RgnDesc->Region.SpaceId));
         }
         else if (Status == AE_NOT_EXIST)
         {
-            ACPI_REPORT_ERROR ((
-                "Region %s(%X) has no handler\n",
+            ACPI_ERROR ((AE_INFO,
+                "Region %s(%X) has no handler",
                 AcpiUtGetRegionName (RgnDesc->Region.SpaceId),
                 RgnDesc->Region.SpaceId));
         }
@@ -628,7 +628,7 @@ AcpiExFieldDatumIo (
 
     default:
 
-        ACPI_REPORT_ERROR (("Wrong object type in field I/O %X\n",
+        ACPI_ERROR ((AE_INFO, "Wrong object type in field I/O %X",
             ACPI_GET_OBJECT_TYPE (ObjDesc)));
         Status = AE_AML_INTERNAL;
         break;
@@ -737,8 +737,8 @@ AcpiExWriteWithUpdateRule (
 
         default:
 
-            ACPI_REPORT_ERROR ((
-                "Unknown UpdateRule value: %X\n",
+            ACPI_ERROR ((AE_INFO,
+                "Unknown UpdateRule value: %X",
                 (ObjDesc->CommonField.FieldFlags & AML_FIELD_UPDATE_RULE_MASK)));
             return_ACPI_STATUS (AE_AML_OPERAND_VALUE);
         }
@@ -800,8 +800,8 @@ AcpiExExtractFromField (
     if (BufferLength < ACPI_ROUND_BITS_UP_TO_BYTES (
                             ObjDesc->CommonField.BitLength))
     {
-        ACPI_REPORT_ERROR ((
-            "Field size %X (bits) is too large for buffer (%X)\n",
+        ACPI_ERROR ((AE_INFO,
+            "Field size %X (bits) is too large for buffer (%X)",
             ObjDesc->CommonField.BitLength, BufferLength));
 
         return_ACPI_STATUS (AE_BUFFER_OVERFLOW);
@@ -921,8 +921,8 @@ AcpiExInsertIntoField (
     if (BufferLength < ACPI_ROUND_BITS_UP_TO_BYTES (
                             ObjDesc->CommonField.BitLength))
     {
-        ACPI_REPORT_ERROR ((
-            "Field size %X (bits) is too large for buffer (%X)\n",
+        ACPI_ERROR ((AE_INFO,
+            "Field size %X (bits) is too large for buffer (%X)",
             ObjDesc->CommonField.BitLength, BufferLength));
 
         return_ACPI_STATUS (AE_BUFFER_OVERFLOW);
Index: sys/dev/acpi/acpica/Subsystem/exmisc.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/exmisc.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 exmisc.c
--- sys/dev/acpi/acpica/Subsystem/exmisc.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/exmisc.c	8 Mar 2006 04:07:34 -0000
@@ -2,7 +2,7 @@
 /******************************************************************************
  *
  * Module Name: exmisc - ACPI AML (p-code) execution - specific opcodes
- *              xRevision: 1.138 $
+ *              xRevision: 1.141 $
  *
  *****************************************************************************/
 
@@ -186,7 +186,7 @@ AcpiExGetObjectReference (
 
         default:
 
-            ACPI_REPORT_ERROR (("Unknown Reference opcode %X\n",
+            ACPI_ERROR ((AE_INFO, "Unknown Reference opcode %X",
                 ObjDesc->Reference.Opcode));
             return_ACPI_STATUS (AE_AML_INTERNAL);
         }
@@ -204,7 +204,7 @@ AcpiExGetObjectReference (
 
     default:
 
-        ACPI_REPORT_ERROR (("Invalid descriptor type %X\n",
+        ACPI_ERROR ((AE_INFO, "Invalid descriptor type %X",
             ACPI_GET_DESCRIPTOR_TYPE (ObjDesc)));
         return_ACPI_STATUS (AE_TYPE);
     }
@@ -258,6 +258,7 @@ AcpiExConcatTemplate (
     UINT8                   *EndTag;
     ACPI_SIZE               Length0;
     ACPI_SIZE               Length1;
+    ACPI_SIZE               NewLength;
 
 
     ACPI_FUNCTION_TRACE ("ExConcatTemplate");
@@ -265,10 +266,12 @@ AcpiExConcatTemplate (
 
     /*
      * Find the EndTag descriptor in each resource template.
-     * Note: returned pointers point TO the EndTag, not past it.
-     *
-     * Compute the length of each resource template
+     * Note1: returned pointers point TO the EndTag, not past it.
+     * Note2: zero-length buffers are allowed; treated like one EndTag
      */
+
+    /* Get the length of the first resource template */
+
     Status = AcpiUtGetResourceEndTag (Operand0, &EndTag);
     if (ACPI_FAILURE (Status))
     {
@@ -277,20 +280,23 @@ AcpiExConcatTemplate (
 
     Length0 = ACPI_PTR_DIFF (EndTag, Operand0->Buffer.Pointer);
 
+    /* Get the length of the second resource template */
+
     Status = AcpiUtGetResourceEndTag (Operand1, &EndTag);
     if (ACPI_FAILURE (Status))
     {
         return_ACPI_STATUS (Status);
     }
 
-    /* Include the EndTag in the second template length */
+    Length1 = ACPI_PTR_DIFF (EndTag, Operand1->Buffer.Pointer);
+
+    /* Combine both lengths, minimum size will be 2 for EndTag */
 
-    Length1 = ACPI_PTR_DIFF (EndTag, Operand1->Buffer.Pointer) +
-                sizeof (AML_RESOURCE_END_TAG);
+    NewLength = Length0 + Length1 + sizeof (AML_RESOURCE_END_TAG);
 
-    /* Create a new buffer object for the result */
+    /* Create a new buffer object for the result (with one EndTag) */
 
-    ReturnDesc = AcpiUtCreateBufferObject (Length0 + Length1);
+    ReturnDesc = AcpiUtCreateBufferObject (NewLength);
     if (!ReturnDesc)
     {
         return_ACPI_STATUS (AE_NO_MEMORY);
@@ -304,9 +310,10 @@ AcpiExConcatTemplate (
     ACPI_MEMCPY (NewBuf, Operand0->Buffer.Pointer, Length0);
     ACPI_MEMCPY (NewBuf + Length0, Operand1->Buffer.Pointer, Length1);
 
-    /* Set the EndTag checksum to zero, means "ignore checksum" */
+    /* Insert EndTag and set the checksum to zero, means "ignore checksum" */
 
-    NewBuf[ReturnDesc->Buffer.Length - 1] = 0;
+    NewBuf[NewLength - 1] = 0;
+    NewBuf[NewLength - 2] = ACPI_RESOURCE_NAME_END_TAG | 1;
 
     /* Return the completed resource template */
 
@@ -369,7 +376,7 @@ AcpiExDoConcatenate (
         break;
 
     default:
-        ACPI_REPORT_ERROR (("Invalid object type: %X\n",
+        ACPI_ERROR ((AE_INFO, "Invalid object type: %X",
             ACPI_GET_OBJECT_TYPE (Operand0)));
         Status = AE_AML_INTERNAL;
     }
@@ -471,7 +478,7 @@ AcpiExDoConcatenate (
 
         /* Invalid object type, should not happen here */
 
-        ACPI_REPORT_ERROR (("Invalid object type: %X\n",
+        ACPI_ERROR ((AE_INFO, "Invalid object type: %X",
             ACPI_GET_OBJECT_TYPE (Operand0)));
         Status =AE_AML_INTERNAL;
         goto Cleanup;
Index: sys/dev/acpi/acpica/Subsystem/exmutex.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/exmutex.c,v
retrieving revision 1.16
diff -u -u -p -r1.16 exmutex.c
--- sys/dev/acpi/acpica/Subsystem/exmutex.c	29 Jan 2006 03:05:47 -0000	1.16
+++ sys/dev/acpi/acpica/Subsystem/exmutex.c	8 Mar 2006 04:07:35 -0000
@@ -2,7 +2,7 @@
 /******************************************************************************
  *
  * Module Name: exmutex - ASL Mutex Acquire/Release functions
- *              xRevision: 1.30 $
+ *              xRevision: 1.31 $
  *
  *****************************************************************************/
 
@@ -252,7 +252,7 @@ AcpiExAcquireMutex (
 
     if (!WalkState->Thread)
     {
-        ACPI_REPORT_ERROR (("Cannot acquire Mutex [%4.4s], null thread info\n",
+        ACPI_ERROR ((AE_INFO, "Cannot acquire Mutex [%4.4s], null thread info",
             AcpiUtGetNodeName (ObjDesc->Mutex.Node)));
         return_ACPI_STATUS (AE_AML_INTERNAL);
     }
@@ -263,8 +263,8 @@ AcpiExAcquireMutex (
      */
     if (WalkState->Thread->CurrentSyncLevel > ObjDesc->Mutex.SyncLevel)
     {
-        ACPI_REPORT_ERROR ((
-            "Cannot acquire Mutex [%4.4s], incorrect SyncLevel\n",
+        ACPI_ERROR ((AE_INFO,
+            "Cannot acquire Mutex [%4.4s], incorrect SyncLevel",
             AcpiUtGetNodeName (ObjDesc->Mutex.Node)));
         return_ACPI_STATUS (AE_AML_MUTEX_ORDER);
     }
@@ -348,7 +348,7 @@ AcpiExReleaseMutex (
 
     if (!ObjDesc->Mutex.OwnerThread)
     {
-        ACPI_REPORT_ERROR (("Cannot release Mutex [%4.4s], not acquired\n",
+        ACPI_ERROR ((AE_INFO, "Cannot release Mutex [%4.4s], not acquired",
             AcpiUtGetNodeName (ObjDesc->Mutex.Node)));
         return_ACPI_STATUS (AE_AML_MUTEX_NOT_ACQUIRED);
     }
@@ -357,7 +357,7 @@ AcpiExReleaseMutex (
 
     if (!WalkState->Thread)
     {
-        ACPI_REPORT_ERROR (("Cannot release Mutex [%4.4s], null thread info\n",
+        ACPI_ERROR ((AE_INFO, "Cannot release Mutex [%4.4s], null thread info",
             AcpiUtGetNodeName (ObjDesc->Mutex.Node)));
         return_ACPI_STATUS (AE_AML_INTERNAL);
     }
@@ -369,8 +369,8 @@ AcpiExReleaseMutex (
     if ((ObjDesc->Mutex.OwnerThread->ThreadId != WalkState->Thread->ThreadId) &&
         (ObjDesc->Mutex.Semaphore != AcpiGbl_GlobalLockSemaphore))
     {
-        ACPI_REPORT_ERROR ((
-            "Thread %X cannot release Mutex [%4.4s] acquired by thread %X\n",
+        ACPI_ERROR ((AE_INFO,
+            "Thread %X cannot release Mutex [%4.4s] acquired by thread %X",
             WalkState->Thread->ThreadId,
             AcpiUtGetNodeName (ObjDesc->Mutex.Node),
             ObjDesc->Mutex.OwnerThread->ThreadId));
@@ -383,8 +383,8 @@ AcpiExReleaseMutex (
      */
     if (ObjDesc->Mutex.SyncLevel > WalkState->Thread->CurrentSyncLevel)
     {
-        ACPI_REPORT_ERROR ((
-            "Cannot release Mutex [%4.4s], incorrect SyncLevel\n",
+        ACPI_ERROR ((AE_INFO,
+            "Cannot release Mutex [%4.4s], incorrect SyncLevel",
             AcpiUtGetNodeName (ObjDesc->Mutex.Node)));
         return_ACPI_STATUS (AE_AML_MUTEX_ORDER);
     }
Index: sys/dev/acpi/acpica/Subsystem/exnames.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/exnames.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 exnames.c
--- sys/dev/acpi/acpica/Subsystem/exnames.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/exnames.c	8 Mar 2006 04:07:35 -0000
@@ -2,7 +2,7 @@
 /******************************************************************************
  *
  * Module Name: exnames - interpreter/scanner name load/execute
- *              xRevision: 1.106 $
+ *              xRevision: 1.107 $
  *
  *****************************************************************************/
 
@@ -191,8 +191,8 @@ AcpiExAllocateNameString (
     NameString = ACPI_MEM_ALLOCATE (SizeNeeded);
     if (!NameString)
     {
-        ACPI_REPORT_ERROR ((
-            "Could not allocate size %d\n", SizeNeeded));
+        ACPI_ERROR ((AE_INFO,
+            "Could not allocate size %d", SizeNeeded));
         return_PTR (NULL);
     }
 
@@ -274,7 +274,7 @@ AcpiExNameSegment (
 
     if ('0' <= CharBuf[0] && CharBuf[0] <= '9')
     {
-        ACPI_REPORT_ERROR (("Invalid leading digit: %c\n", CharBuf[0]));
+        ACPI_ERROR ((AE_INFO, "Invalid leading digit: %c", CharBuf[0]));
         return_ACPI_STATUS (AE_CTRL_PENDING);
     }
 
@@ -327,8 +327,8 @@ AcpiExNameSegment (
          * the required 4
          */
         Status = AE_AML_BAD_NAME;
-        ACPI_REPORT_ERROR ((
-            "Bad character %02x in name, at %p\n",
+        ACPI_ERROR ((AE_INFO,
+            "Bad character %02x in name, at %p",
             *AmlAddress, AmlAddress));
     }
 
@@ -540,8 +540,8 @@ AcpiExGetNameString (
     {
         /* Ran out of segments after processing a prefix */
 
-        ACPI_REPORT_ERROR ((
-            "Malformed Name at %p\n", NameString));
+        ACPI_ERROR ((AE_INFO,
+            "Malformed Name at %p", NameString));
         Status = AE_AML_BAD_NAME;
     }
 
Index: sys/dev/acpi/acpica/Subsystem/exoparg1.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/exoparg1.c,v
retrieving revision 1.12
diff -u -u -p -r1.12 exoparg1.c
--- sys/dev/acpi/acpica/Subsystem/exoparg1.c	29 Jan 2006 03:05:47 -0000	1.12
+++ sys/dev/acpi/acpica/Subsystem/exoparg1.c	8 Mar 2006 04:07:35 -0000
@@ -2,7 +2,7 @@
 /******************************************************************************
  *
  * Module Name: exoparg1 - AML execution - opcodes with 1 argument
- *              xRevision: 1.174 $
+ *              xRevision: 1.176 $
  *
  *****************************************************************************/
 
@@ -199,7 +199,7 @@ AcpiExOpcode_0A_0T_1R (
 
     default:                /*  Unknown opcode  */
 
-        ACPI_REPORT_ERROR (("Unknown AML opcode %X\n",
+        ACPI_ERROR ((AE_INFO, "Unknown AML opcode %X",
             WalkState->Opcode));
         Status = AE_AML_BAD_OPCODE;
         break;
@@ -291,7 +291,7 @@ AcpiExOpcode_1A_0T_0R (
 
     default:                /*  Unknown opcode  */
 
-        ACPI_REPORT_ERROR (("Unknown AML opcode %X\n",
+        ACPI_ERROR ((AE_INFO, "Unknown AML opcode %X",
             WalkState->Opcode));
         Status = AE_AML_BAD_OPCODE;
         break;
@@ -337,7 +337,7 @@ AcpiExOpcode_1A_1T_0R (
 
     default:                        /* Unknown opcode */
 
-        ACPI_REPORT_ERROR (("Unknown AML opcode %X\n",
+        ACPI_ERROR ((AE_INFO, "Unknown AML opcode %X",
             WalkState->Opcode));
         Status = AE_AML_BAD_OPCODE;
         goto Cleanup;
@@ -471,8 +471,8 @@ AcpiExOpcode_1A_1T_1R (
 
                 if (Temp32 > 9)
                 {
-                    ACPI_REPORT_ERROR ((
-                        "BCD digit too large (not decimal): 0x%X\n",
+                    ACPI_ERROR ((AE_INFO,
+                        "BCD digit too large (not decimal): 0x%X",
                         Temp32));
 
                     Status = AE_AML_NUMERIC_OVERFLOW;
@@ -518,8 +518,8 @@ AcpiExOpcode_1A_1T_1R (
 
             if (Digit > 0)
             {
-                ACPI_REPORT_ERROR ((
-                    "Integer too large to convert to BCD: %8.8X%8.8X\n",
+                ACPI_ERROR ((AE_INFO,
+                    "Integer too large to convert to BCD: %8.8X%8.8X",
                     ACPI_FORMAT_UINT64 (Operand[0]->Integer.Value)));
                 Status = AE_AML_NUMERIC_OVERFLOW;
                 goto Cleanup;
@@ -660,8 +660,8 @@ AcpiExOpcode_1A_1T_1R (
 
         /* These are two obsolete opcodes */
 
-        ACPI_REPORT_ERROR ((
-            "%s is obsolete and not implemented\n",
+        ACPI_ERROR ((AE_INFO,
+            "%s is obsolete and not implemented",
             AcpiPsGetOpcodeName (WalkState->Opcode)));
         Status = AE_SUPPORT;
         goto Cleanup;
@@ -669,7 +669,7 @@ AcpiExOpcode_1A_1T_1R (
 
     default:                        /* Unknown opcode */
 
-        ACPI_REPORT_ERROR (("Unknown AML opcode %X\n",
+        ACPI_ERROR ((AE_INFO, "Unknown AML opcode %X",
             WalkState->Opcode));
         Status = AE_AML_BAD_OPCODE;
         goto Cleanup;
@@ -789,9 +789,9 @@ AcpiExOpcode_1A_0T_1R (
         Status = AcpiExResolveOperands (AML_LNOT_OP, &TempDesc, WalkState);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR (("%s: bad operand(s) %s\n",
-                AcpiPsGetOpcodeName (WalkState->Opcode),
-                AcpiFormatException(Status)));
+            ACPI_EXCEPTION ((AE_INFO, Status,
+                "While resolving operands for [%s]",
+                AcpiPsGetOpcodeName (WalkState->Opcode)));
 
             goto Cleanup;
         }
@@ -894,8 +894,8 @@ AcpiExOpcode_1A_0T_1R (
             break;
 
         default:
-            ACPI_REPORT_ERROR ((
-                "Operand is not Buf/Int/Str/Pkg - found type %s\n",
+            ACPI_ERROR ((AE_INFO,
+                "Operand is not Buf/Int/Str/Pkg - found type %s",
                 AcpiUtGetTypeName (Type)));
             Status = AE_AML_OPERAND_TYPE;
             goto Cleanup;
@@ -930,7 +930,24 @@ AcpiExOpcode_1A_0T_1R (
 
         /* Check for a method local or argument, or standalone String */
 
-        if (ACPI_GET_DESCRIPTOR_TYPE (Operand[0]) != ACPI_DESC_TYPE_NAMED)
+        if (ACPI_GET_DESCRIPTOR_TYPE (Operand[0]) == ACPI_DESC_TYPE_NAMED)
+        {
+            TempDesc = AcpiNsGetAttachedObject (
+                           (ACPI_NAMESPACE_NODE *) Operand[0]);
+            if (TempDesc &&
+                 ((ACPI_GET_OBJECT_TYPE (TempDesc) == ACPI_TYPE_STRING) ||
+                  (ACPI_GET_OBJECT_TYPE (TempDesc) == ACPI_TYPE_LOCAL_REFERENCE)))
+            {
+                Operand[0] = TempDesc;
+                AcpiUtAddReference (TempDesc);
+            }
+            else
+            {
+                Status = AE_AML_OPERAND_TYPE;
+                goto Cleanup;
+            }
+        }
+        else
         {
             switch (ACPI_GET_OBJECT_TYPE (Operand[0]))
             {
@@ -980,15 +997,25 @@ AcpiExOpcode_1A_0T_1R (
                 }
                 break;
 
-
             case ACPI_TYPE_STRING:
+                break;
 
+            default:
+                Status = AE_AML_OPERAND_TYPE;
+                goto Cleanup;
+            }
+        }
+
+        if (ACPI_GET_DESCRIPTOR_TYPE (Operand[0]) != ACPI_DESC_TYPE_NAMED)
+        {
+            if (ACPI_GET_OBJECT_TYPE (Operand[0]) == ACPI_TYPE_STRING)
+            {
                 /*
-                 * This is a DerefOf (String).  The string is a reference
+                 * This is a DerefOf (String). The string is a reference
                  * to a named ACPI object.
                  *
                  * 1) Find the owning Node
-                 * 2) Dereference the node to an actual object.  Could be a
+                 * 2) Dereference the node to an actual object. Could be a
                  *    Field, so we need to resolve the node to a value.
                  */
                 Status = AcpiNsGetNodeByPath (Operand[0]->String.Pointer,
@@ -1002,15 +1029,9 @@ AcpiExOpcode_1A_0T_1R (
                 }
 
                 Status = AcpiExResolveNodeToValue (
-                                ACPI_CAST_INDIRECT_PTR (
-                                    ACPI_NAMESPACE_NODE, &ReturnDesc),
-                                WalkState);
-                goto Cleanup;
-
-
-            default:
-
-                Status = AE_AML_OPERAND_TYPE;
+                            ACPI_CAST_INDIRECT_PTR (
+                                ACPI_NAMESPACE_NODE, &ReturnDesc),
+                            WalkState);
                 goto Cleanup;
             }
         }
@@ -1091,8 +1112,8 @@ AcpiExOpcode_1A_0T_1R (
 
                 default:
 
-                    ACPI_REPORT_ERROR ((
-                        "Unknown Index TargetType %X in obj %p\n",
+                    ACPI_ERROR ((AE_INFO,
+                        "Unknown Index TargetType %X in obj %p",
                         Operand[0]->Reference.TargetType, Operand[0]));
                     Status = AE_AML_OPERAND_TYPE;
                     goto Cleanup;
@@ -1119,8 +1140,8 @@ AcpiExOpcode_1A_0T_1R (
 
 
             default:
-                ACPI_REPORT_ERROR ((
-                    "Unknown opcode in ref(%p) - %X\n",
+                ACPI_ERROR ((AE_INFO,
+                    "Unknown opcode in ref(%p) - %X",
                     Operand[0], Operand[0]->Reference.Opcode));
 
                 Status = AE_TYPE;
@@ -1132,7 +1153,7 @@ AcpiExOpcode_1A_0T_1R (
 
     default:
 
-        ACPI_REPORT_ERROR (("Unknown AML opcode %X\n",
+        ACPI_ERROR ((AE_INFO, "Unknown AML opcode %X",
             WalkState->Opcode));
         Status = AE_AML_BAD_OPCODE;
         goto Cleanup;
Index: sys/dev/acpi/acpica/Subsystem/exoparg2.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/exoparg2.c,v
retrieving revision 1.12
diff -u -u -p -r1.12 exoparg2.c
--- sys/dev/acpi/acpica/Subsystem/exoparg2.c	29 Jan 2006 03:05:47 -0000	1.12
+++ sys/dev/acpi/acpica/Subsystem/exoparg2.c	8 Mar 2006 04:07:35 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: exoparg2 - AML execution - opcodes with 2 arguments
- *              xRevision: 1.137 $
+ *              xRevision: 1.139 $
  *
  *****************************************************************************/
 
@@ -201,8 +201,8 @@ AcpiExOpcode_2A_0T_0R (
 
         if (!AcpiEvIsNotifyObject (Node))
         {
-            ACPI_REPORT_ERROR ((
-                "Unexpected notify object type [%s]\n",
+            ACPI_ERROR ((AE_INFO,
+                "Unexpected notify object type [%s]",
                 AcpiUtGetTypeName (Node->Type)));
 
             Status = AE_AML_OPERAND_TYPE;
@@ -249,7 +249,7 @@ AcpiExOpcode_2A_0T_0R (
 
     default:
 
-        ACPI_REPORT_ERROR (("Unknown AML opcode %X\n",
+        ACPI_ERROR ((AE_INFO, "Unknown AML opcode %X",
             WalkState->Opcode));
         Status = AE_AML_BAD_OPCODE;
     }
@@ -322,7 +322,7 @@ AcpiExOpcode_2A_2T_1R (
 
     default:
 
-        ACPI_REPORT_ERROR (("Unknown AML opcode %X\n",
+        ACPI_ERROR ((AE_INFO, "Unknown AML opcode %X",
             WalkState->Opcode));
         Status = AE_AML_BAD_OPCODE;
         goto Cleanup;
@@ -502,55 +502,72 @@ AcpiExOpcode_2A_1T_1R (
             goto Cleanup;
         }
 
-        Index = Operand[1]->Integer.Value;
+        /* Initialize the Index reference object */
 
-        /* At this point, the Source operand is a Package, Buffer, or String */
+        Index = Operand[1]->Integer.Value;
+        ReturnDesc->Reference.Offset = (UINT32) Index;
+        ReturnDesc->Reference.Opcode = AML_INDEX_OP;
+        ReturnDesc->Reference.Object = Operand[0];
 
-        if (ACPI_GET_OBJECT_TYPE (Operand[0]) == ACPI_TYPE_PACKAGE)
+        /*
+         * At this point, the Source operand is a String, Buffer, or Package.
+         * Verify that the index is within range.
+         */
+        switch (ACPI_GET_OBJECT_TYPE (Operand[0]))
         {
-            /* Object to be indexed is a Package */
+        case ACPI_TYPE_STRING:
 
-            if (Index >= Operand[0]->Package.Count)
+            if (Index >= Operand[0]->String.Length)
             {
-                ACPI_REPORT_ERROR ((
-                    "Index value (%X%8.8X) beyond package end (%X)\n",
-                    ACPI_FORMAT_UINT64 (Index), Operand[0]->Package.Count));
-                Status = AE_AML_PACKAGE_LIMIT;
-                goto Cleanup;
+                Status = AE_AML_STRING_LIMIT;
             }
 
-            ReturnDesc->Reference.TargetType = ACPI_TYPE_PACKAGE;
-            ReturnDesc->Reference.Object = Operand[0];
-            ReturnDesc->Reference.Where = &Operand[0]->Package.Elements [Index];
-        }
-        else
-        {
-            /* Object to be indexed is a Buffer/String */
+            ReturnDesc->Reference.TargetType = ACPI_TYPE_BUFFER_FIELD;
+            break;
+
+        case ACPI_TYPE_BUFFER:
 
             if (Index >= Operand[0]->Buffer.Length)
             {
-                ACPI_REPORT_ERROR ((
-                    "Index value (%X%8.8X) beyond end of buffer (%X)\n",
-                    ACPI_FORMAT_UINT64 (Index), Operand[0]->Buffer.Length));
                 Status = AE_AML_BUFFER_LIMIT;
-                goto Cleanup;
             }
 
             ReturnDesc->Reference.TargetType = ACPI_TYPE_BUFFER_FIELD;
-            ReturnDesc->Reference.Object = Operand[0];
+            break;
+
+        case ACPI_TYPE_PACKAGE:
+
+            if (Index >= Operand[0]->Package.Count)
+            {
+                Status = AE_AML_PACKAGE_LIMIT;
+            }
+
+            ReturnDesc->Reference.TargetType = ACPI_TYPE_PACKAGE;
+            ReturnDesc->Reference.Where = &Operand[0]->Package.Elements [Index];
+            break;
+
+        default:
+
+            Status = AE_AML_INTERNAL;
+            goto Cleanup;
+        }
+
+        /* Failure means that the Index was beyond the end of the object */
+
+        if (ACPI_FAILURE (Status))
+        {
+            ACPI_EXCEPTION ((AE_INFO, Status,
+                "Index (%X%8.8X) is beyond end of object",
+                ACPI_FORMAT_UINT64 (Index)));
+            goto Cleanup;
         }
 
         /*
          * Add a reference to the target package/buffer/string for the life
-         * of the index.
+         * of the index
          */
         AcpiUtAddReference (Operand[0]);
 
-        /* Complete the Index reference object */
-
-        ReturnDesc->Reference.Opcode = AML_INDEX_OP;
-        ReturnDesc->Reference.Offset = (UINT32) Index;
-
         /* Store the reference to the Target */
 
         Status = AcpiExStore (ReturnDesc, Operand[2], WalkState);
@@ -563,7 +580,7 @@ AcpiExOpcode_2A_1T_1R (
 
     default:
 
-        ACPI_REPORT_ERROR (("Unknown AML opcode %X\n",
+        ACPI_ERROR ((AE_INFO, "Unknown AML opcode %X",
             WalkState->Opcode));
         Status = AE_AML_BAD_OPCODE;
         break;
@@ -685,7 +702,7 @@ AcpiExOpcode_2A_0T_1R (
 
     default:
 
-        ACPI_REPORT_ERROR (("Unknown AML opcode %X\n",
+        ACPI_ERROR ((AE_INFO, "Unknown AML opcode %X",
             WalkState->Opcode));
         Status = AE_AML_BAD_OPCODE;
         goto Cleanup;
Index: sys/dev/acpi/acpica/Subsystem/exoparg3.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/exoparg3.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 exoparg3.c
--- sys/dev/acpi/acpica/Subsystem/exoparg3.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/exoparg3.c	8 Mar 2006 04:07:35 -0000
@@ -2,7 +2,7 @@
 /******************************************************************************
  *
  * Module Name: exoparg3 - AML execution - opcodes with 3 arguments
- *              xRevision: 1.30 $
+ *              xRevision: 1.31 $
  *
  *****************************************************************************/
 
@@ -209,7 +209,7 @@ AcpiExOpcode_3A_0T_0R (
 
     default:
 
-        ACPI_REPORT_ERROR (("Unknown AML opcode %X\n",
+        ACPI_ERROR ((AE_INFO, "Unknown AML opcode %X",
             WalkState->Opcode));
         Status = AE_AML_BAD_OPCODE;
         goto Cleanup;
@@ -348,7 +348,7 @@ AcpiExOpcode_3A_1T_1R (
 
     default:
 
-        ACPI_REPORT_ERROR (("Unknown AML opcode %X\n",
+        ACPI_ERROR ((AE_INFO, "Unknown AML opcode %X",
             WalkState->Opcode));
         Status = AE_AML_BAD_OPCODE;
         goto Cleanup;
Index: sys/dev/acpi/acpica/Subsystem/exoparg6.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/exoparg6.c,v
retrieving revision 1.12
diff -u -u -p -r1.12 exoparg6.c
--- sys/dev/acpi/acpica/Subsystem/exoparg6.c	29 Jan 2006 03:05:47 -0000	1.12
+++ sys/dev/acpi/acpica/Subsystem/exoparg6.c	8 Mar 2006 04:07:36 -0000
@@ -2,7 +2,7 @@
 /******************************************************************************
  *
  * Module Name: exoparg6 - AML execution - opcodes with 6 arguments
- *              xRevision: 1.25 $
+ *              xRevision: 1.26 $
  *
  *****************************************************************************/
 
@@ -329,7 +329,7 @@ AcpiExOpcode_6A_0T_1R (
         if ((Operand[1]->Integer.Value > MAX_MATCH_OPERATOR) ||
             (Operand[3]->Integer.Value > MAX_MATCH_OPERATOR))
         {
-            ACPI_REPORT_ERROR (("Match operator out of range\n"));
+            ACPI_ERROR ((AE_INFO, "Match operator out of range"));
             Status = AE_AML_OPERAND_VALUE;
             goto Cleanup;
         }
@@ -339,8 +339,8 @@ AcpiExOpcode_6A_0T_1R (
         Index = Operand[5]->Integer.Value;
         if (Index >= Operand[0]->Package.Count)
         {
-            ACPI_REPORT_ERROR ((
-                "Index (%X%8.8X) beyond package end (%X)\n",
+            ACPI_ERROR ((AE_INFO,
+                "Index (%X%8.8X) beyond package end (%X)",
                 ACPI_FORMAT_UINT64 (Index), Operand[0]->Package.Count));
             Status = AE_AML_PACKAGE_LIMIT;
             goto Cleanup;
@@ -417,7 +417,7 @@ AcpiExOpcode_6A_0T_1R (
 
     default:
 
-        ACPI_REPORT_ERROR (("Unknown AML opcode %X\n",
+        ACPI_ERROR ((AE_INFO, "Unknown AML opcode %X",
             WalkState->Opcode));
         Status = AE_AML_BAD_OPCODE;
         goto Cleanup;
Index: sys/dev/acpi/acpica/Subsystem/exprep.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/exprep.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 exprep.c
--- sys/dev/acpi/acpica/Subsystem/exprep.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/exprep.c	8 Mar 2006 04:07:36 -0000
@@ -2,7 +2,7 @@
 /******************************************************************************
  *
  * Module Name: exprep - ACPI AML (p-code) execution - field prep utilities
- *              xRevision: 1.137 $
+ *              xRevision: 1.139 $
  *
  *****************************************************************************/
 
@@ -364,8 +364,8 @@ AcpiExDecodeFieldAccess (
     default:
         /* Invalid field access type */
 
-        ACPI_REPORT_ERROR ((
-            "Unknown field access type %X\n",
+        ACPI_ERROR ((AE_INFO,
+            "Unknown field access type %X",
             Access));
         return_UINT32 (0);
     }
@@ -527,15 +527,15 @@ AcpiExPrepFieldValue (
     {
         if (!Info->RegionNode)
         {
-            ACPI_REPORT_ERROR (("Null RegionNode\n"));
+            ACPI_ERROR ((AE_INFO, "Null RegionNode"));
             return_ACPI_STATUS (AE_AML_NO_OPERAND);
         }
 
         Type = AcpiNsGetType (Info->RegionNode);
         if (Type != ACPI_TYPE_REGION)
         {
-            ACPI_REPORT_ERROR ((
-                "Needed Region, found type %X (%s)\n",
+            ACPI_ERROR ((AE_INFO,
+                "Needed Region, found type %X (%s)",
                 Type, AcpiUtGetTypeName (Type)));
 
             return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
@@ -605,17 +605,16 @@ AcpiExPrepFieldValue (
 
     case ACPI_TYPE_LOCAL_INDEX_FIELD:
 
+        /* Get the Index and Data registers */
+
         ObjDesc->IndexField.IndexObj = AcpiNsGetAttachedObject (
                                             Info->RegisterNode);
         ObjDesc->IndexField.DataObj  = AcpiNsGetAttachedObject (
                                             Info->DataRegisterNode);
-        ObjDesc->IndexField.Value    = (UINT32)
-            (Info->FieldBitPosition / ACPI_MUL_8 (
-                                        ObjDesc->Field.AccessByteWidth));
 
         if (!ObjDesc->IndexField.DataObj || !ObjDesc->IndexField.IndexObj)
         {
-            ACPI_REPORT_ERROR (("Null Index Object during field prep\n"));
+            ACPI_ERROR ((AE_INFO, "Null Index Object during field prep"));
             AcpiUtDeleteObjectDesc (ObjDesc);
             return_ACPI_STATUS (AE_AML_INTERNAL);
         }
@@ -625,6 +624,21 @@ AcpiExPrepFieldValue (
         AcpiUtAddReference (ObjDesc->IndexField.DataObj);
         AcpiUtAddReference (ObjDesc->IndexField.IndexObj);
 
+        /*
+         * February 2006: Changed to match MS behavior
+         *
+         * The value written to the Index register is the byte offset of the
+         * target field.
+         *
+         * Previously, the value was calculated as an index in terms of the
+         * width of the Data register, as below:
+         *
+         *   ObjDesc->IndexField.Value = (UINT32)
+         *       (Info->FieldBitPosition / ACPI_MUL_8 (
+         *           ObjDesc->Field.AccessByteWidth));
+         */
+        ObjDesc->IndexField.Value = (UINT32) ACPI_DIV_8 (Info->FieldBitPosition);
+
         ACPI_DEBUG_PRINT ((ACPI_DB_BFIELD,
             "IndexField: BitOff %X, Off %X, Value %X, Gran %X, Index %p, Data %p\n",
             ObjDesc->IndexField.StartFieldBitOffset,
Index: sys/dev/acpi/acpica/Subsystem/exregion.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/exregion.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 exregion.c
--- sys/dev/acpi/acpica/Subsystem/exregion.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/exregion.c	8 Mar 2006 04:07:36 -0000
@@ -2,7 +2,7 @@
 /******************************************************************************
  *
  * Module Name: exregion - ACPI default OpRegion (address space) handlers
- *              xRevision: 1.94 $
+ *              xRevision: 1.95 $
  *
  *****************************************************************************/
 
@@ -189,7 +189,7 @@ AcpiExSystemMemorySpaceHandler (
         break;
 
     default:
-        ACPI_REPORT_ERROR (("Invalid SystemMemory width %d\n",
+        ACPI_ERROR ((AE_INFO, "Invalid SystemMemory width %d",
             BitWidth));
         return_ACPI_STATUS (AE_AML_OPERAND_VALUE);
     }
@@ -246,8 +246,8 @@ AcpiExSystemMemorySpaceHandler (
                                     (void **) &MemInfo->MappedLogicalAddress);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR ((
-                "Could not map memory at %8.8X%8.8X, size %X\n",
+            ACPI_ERROR ((AE_INFO,
+                "Could not map memory at %8.8X%8.8X, size %X",
                 ACPI_FORMAT_UINT64 (Address), (UINT32) WindowSize));
             MemInfo->MappedLength = 0;
             return_ACPI_STATUS (Status);
Index: sys/dev/acpi/acpica/Subsystem/exresnte.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/exresnte.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 exresnte.c
--- sys/dev/acpi/acpica/Subsystem/exresnte.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/exresnte.c	8 Mar 2006 04:07:36 -0000
@@ -2,7 +2,7 @@
 /******************************************************************************
  *
  * Module Name: exresnte - AML Interpreter object resolution
- *              xRevision: 1.70 $
+ *              xRevision: 1.72 $
  *
  *****************************************************************************/
 
@@ -209,7 +209,7 @@ AcpiExResolveNodeToValue (
 
     if (!SourceDesc)
     {
-        ACPI_REPORT_ERROR (("No object attached to node %p\n",
+        ACPI_ERROR ((AE_INFO, "No object attached to node %p",
             Node));
         return_ACPI_STATUS (AE_AML_NO_OPERAND);
     }
@@ -224,7 +224,7 @@ AcpiExResolveNodeToValue (
 
         if (ACPI_GET_OBJECT_TYPE (SourceDesc) != ACPI_TYPE_PACKAGE)
         {
-            ACPI_REPORT_ERROR (("Object not a Package, type %s\n",
+            ACPI_ERROR ((AE_INFO, "Object not a Package, type %s",
                 AcpiUtGetObjectTypeName (SourceDesc)));
             return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
         }
@@ -244,7 +244,7 @@ AcpiExResolveNodeToValue (
 
         if (ACPI_GET_OBJECT_TYPE (SourceDesc) != ACPI_TYPE_BUFFER)
         {
-            ACPI_REPORT_ERROR (("Object not a Buffer, type %s\n",
+            ACPI_ERROR ((AE_INFO, "Object not a Buffer, type %s",
                 AcpiUtGetObjectTypeName (SourceDesc)));
             return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
         }
@@ -264,7 +264,7 @@ AcpiExResolveNodeToValue (
 
         if (ACPI_GET_OBJECT_TYPE (SourceDesc) != ACPI_TYPE_STRING)
         {
-            ACPI_REPORT_ERROR (("Object not a String, type %s\n",
+            ACPI_ERROR ((AE_INFO, "Object not a String, type %s",
                 AcpiUtGetObjectTypeName (SourceDesc)));
             return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
         }
@@ -280,7 +280,7 @@ AcpiExResolveNodeToValue (
 
         if (ACPI_GET_OBJECT_TYPE (SourceDesc) != ACPI_TYPE_INTEGER)
         {
-            ACPI_REPORT_ERROR (("Object not a Integer, type %s\n",
+            ACPI_ERROR ((AE_INFO, "Object not a Integer, type %s",
                 AcpiUtGetObjectTypeName (SourceDesc)));
             return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
         }
@@ -324,8 +324,8 @@ AcpiExResolveNodeToValue (
 
     case ACPI_TYPE_ANY:
 
-        ACPI_REPORT_ERROR ((
-            "Untyped entry %p, no attached object!\n", Node));
+        ACPI_ERROR ((AE_INFO,
+            "Untyped entry %p, no attached object!", Node));
 
         return_ACPI_STATUS (AE_AML_OPERAND_TYPE);  /* Cannot be AE_TYPE */
 
@@ -339,6 +339,8 @@ AcpiExResolveNodeToValue (
             /* This is a DdbHandle */
             /* Return an additional reference to the object */
 
+        case AML_REF_OF_OP:
+
             ObjDesc = SourceDesc;
             AcpiUtAddReference (ObjDesc);
             break;
@@ -346,8 +348,8 @@ AcpiExResolveNodeToValue (
         default:
             /* No named references are allowed here */
 
-            ACPI_REPORT_ERROR ((
-                "Unsupported Reference opcode %X (%s)\n",
+            ACPI_ERROR ((AE_INFO,
+                "Unsupported Reference opcode %X (%s)",
                 SourceDesc->Reference.Opcode,
                 AcpiPsGetOpcodeName (SourceDesc->Reference.Opcode)));
 
@@ -360,8 +362,8 @@ AcpiExResolveNodeToValue (
 
         /* Default case is for unknown types */
 
-        ACPI_REPORT_ERROR ((
-            "Node %p - Unknown object type %X\n",
+        ACPI_ERROR ((AE_INFO,
+            "Node %p - Unknown object type %X",
             Node, EntryType));
 
         return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
Index: sys/dev/acpi/acpica/Subsystem/exresolv.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/exresolv.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 exresolv.c
--- sys/dev/acpi/acpica/Subsystem/exresolv.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/exresolv.c	8 Mar 2006 04:07:36 -0000
@@ -2,7 +2,7 @@
 /******************************************************************************
  *
  * Module Name: exresolv - AML Interpreter object resolution
- *              xRevision: 1.134 $
+ *              xRevision: 1.136 $
  *
  *****************************************************************************/
 
@@ -167,7 +167,7 @@ AcpiExResolveToValue (
 
     if (!StackPtr || !*StackPtr)
     {
-        ACPI_REPORT_ERROR (("Internal - null pointer\n"));
+        ACPI_ERROR ((AE_INFO, "Internal - null pointer"));
         return_ACPI_STATUS (AE_AML_NO_OPERAND);
     }
 
@@ -186,7 +186,7 @@ AcpiExResolveToValue (
 
         if (!*StackPtr)
         {
-            ACPI_REPORT_ERROR (("Internal - null pointer\n"));
+            ACPI_ERROR ((AE_INFO, "Internal - null pointer"));
             return_ACPI_STATUS (AE_AML_NO_OPERAND);
         }
     }
@@ -326,8 +326,8 @@ AcpiExResolveObjectToValue (
                      * A NULL object descriptor means an unitialized element of
                      * the package, can't dereference it
                      */
-                    ACPI_REPORT_ERROR ((
-                        "Attempt to deref an Index to NULL pkg element Idx=%p\n",
+                    ACPI_ERROR ((AE_INFO,
+                        "Attempt to deref an Index to NULL pkg element Idx=%p",
                         StackDesc));
                     Status = AE_AML_UNINITIALIZED_ELEMENT;
                 }
@@ -338,8 +338,8 @@ AcpiExResolveObjectToValue (
 
                 /* Invalid reference object */
 
-                ACPI_REPORT_ERROR ((
-                    "Unknown TargetType %X in Index/Reference obj %p\n",
+                ACPI_ERROR ((AE_INFO,
+                    "Unknown TargetType %X in Index/Reference obj %p",
                     StackDesc->Reference.TargetType, StackDesc));
                 Status = AE_AML_INTERNAL;
                 break;
@@ -366,8 +366,8 @@ AcpiExResolveObjectToValue (
 
         default:
 
-            ACPI_REPORT_ERROR ((
-                "Unknown Reference opcode %X (%s) in %p\n",
+            ACPI_ERROR ((AE_INFO,
+                "Unknown Reference opcode %X (%s) in %p",
                 Opcode, AcpiPsGetOpcodeName (Opcode), StackDesc));
             Status = AE_AML_INTERNAL;
             break;
@@ -484,17 +484,25 @@ AcpiExResolveMultiple (
         switch (ObjDesc->Reference.Opcode)
         {
         case AML_REF_OF_OP:
+        case AML_INT_NAMEPATH_OP:
 
             /* Dereference the reference pointer */
 
-            Node = ObjDesc->Reference.Object;
+            if (ObjDesc->Reference.Opcode == AML_REF_OF_OP)
+            {
+                Node = ObjDesc->Reference.Object;
+            }
+            else /* AML_INT_NAMEPATH_OP */
+            {
+                Node = ObjDesc->Reference.Node;
+            }
 
             /* All "References" point to a NS node */
 
             if (ACPI_GET_DESCRIPTOR_TYPE (Node) != ACPI_DESC_TYPE_NAMED)
             {
-                ACPI_REPORT_ERROR ((
-                    "Not a NS node %p [%s]\n",
+                ACPI_ERROR ((AE_INFO,
+                    "Not a NS node %p [%s]",
                     Node, AcpiUtGetDescriptorName (Node)));
                 return_ACPI_STATUS (AE_AML_INTERNAL);
             }
@@ -547,42 +555,6 @@ AcpiExResolveMultiple (
             break;
 
 
-        case AML_INT_NAMEPATH_OP:
-
-            /* Dereference the reference pointer */
-
-            Node = ObjDesc->Reference.Node;
-
-            /* All "References" point to a NS node */
-
-            if (ACPI_GET_DESCRIPTOR_TYPE (Node) != ACPI_DESC_TYPE_NAMED)
-            {
-                ACPI_REPORT_ERROR ((
-                    "Not a NS node %p [%s]\n",
-                    Node, AcpiUtGetDescriptorName (Node)));
-               return_ACPI_STATUS (AE_AML_INTERNAL);
-            }
-
-            /* Get the attached object */
-
-            ObjDesc = AcpiNsGetAttachedObject (Node);
-            if (!ObjDesc)
-            {
-                /* No object, use the NS node type */
-
-                Type = AcpiNsGetType (Node);
-                goto Exit;
-            }
-
-            /* Check for circular references */
-
-            if (ObjDesc == Operand)
-            {
-                return_ACPI_STATUS (AE_AML_CIRCULAR_REFERENCE);
-            }
-            break;
-
-
         case AML_LOCAL_OP:
         case AML_ARG_OP:
 
@@ -625,8 +597,8 @@ AcpiExResolveMultiple (
 
         default:
 
-            ACPI_REPORT_ERROR ((
-                "Unknown Reference subtype %X\n",
+            ACPI_ERROR ((AE_INFO,
+                "Unknown Reference subtype %X",
                 ObjDesc->Reference.Opcode));
             return_ACPI_STATUS (AE_AML_INTERNAL);
         }
Index: sys/dev/acpi/acpica/Subsystem/exresop.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/exresop.c,v
retrieving revision 1.15
diff -u -u -p -r1.15 exresop.c
--- sys/dev/acpi/acpica/Subsystem/exresop.c	29 Jan 2006 03:05:47 -0000	1.15
+++ sys/dev/acpi/acpica/Subsystem/exresop.c	8 Mar 2006 04:07:37 -0000
@@ -2,7 +2,7 @@
 /******************************************************************************
  *
  * Module Name: exresop - AML Interpreter operand/object resolution
- *              xRevision: 1.88 $
+ *              xRevision: 1.90 $
  *
  *****************************************************************************/
 
@@ -124,6 +124,7 @@ __KERNEL_RCSID(0, "$NetBSD: exresop.c,v 
 #include "amlcode.h"
 #include "acparser.h"
 #include "acinterp.h"
+#include "acnamesp.h"
 
 
 #define _COMPONENT          ACPI_EXECUTER
@@ -184,8 +185,8 @@ AcpiExCheckObjectType (
 
     if (TypeNeeded != ThisType)
     {
-        ACPI_REPORT_ERROR ((
-            "Needed type [%s], found [%s] %p\n",
+        ACPI_ERROR ((AE_INFO,
+            "Needed type [%s], found [%s] %p",
             AcpiUtGetTypeName (TypeNeeded),
             AcpiUtGetTypeName (ThisType), Object));
 
@@ -246,7 +247,7 @@ AcpiExResolveOperands (
     ArgTypes = OpInfo->RuntimeArgs;
     if (ArgTypes == ARGI_INVALID_OPCODE)
     {
-        ACPI_REPORT_ERROR (("Unknown AML opcode %X\n",
+        ACPI_ERROR ((AE_INFO, "Unknown AML opcode %X",
             Opcode));
 
         return_ACPI_STATUS (AE_AML_INTERNAL);
@@ -267,7 +268,7 @@ AcpiExResolveOperands (
     {
         if (!StackPtr || !*StackPtr)
         {
-            ACPI_REPORT_ERROR (("Null stack entry at %p\n",
+            ACPI_ERROR ((AE_INFO, "Null stack entry at %p",
                 StackPtr));
 
             return_ACPI_STATUS (AE_AML_INTERNAL);
@@ -286,6 +287,18 @@ AcpiExResolveOperands (
             /* Namespace Node */
 
             ObjectType = ((ACPI_NAMESPACE_NODE *) ObjDesc)->Type;
+
+            /*
+             * Resolve an alias object. The construction of these objects 
+             * guarantees that there is only one level of alias indirection;
+             * thus, the attached object is always the aliased namespace node
+             */
+            if (ObjectType == ACPI_TYPE_LOCAL_ALIAS)
+            {
+                ObjDesc = AcpiNsGetAttachedObject ((ACPI_NAMESPACE_NODE *) ObjDesc);
+                *StackPtr = ObjDesc;
+                ObjectType = ((ACPI_NAMESPACE_NODE *) ObjDesc)->Type;
+            }
             break;
 
 
@@ -299,8 +312,8 @@ AcpiExResolveOperands (
 
             if (!AcpiUtValidObjectType (ObjectType))
             {
-                ACPI_REPORT_ERROR ((
-                    "Bad operand object type [%X]\n",
+                ACPI_ERROR ((AE_INFO,
+                    "Bad operand object type [%X]",
                     ObjectType));
 
                 return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
@@ -337,8 +350,8 @@ AcpiExResolveOperands (
                     break;
 
                 default:
-                    ACPI_REPORT_ERROR ((
-                        "Operand is a Reference, Unknown Reference Opcode: %X\n",
+                    ACPI_ERROR ((AE_INFO,
+                        "Operand is a Reference, Unknown Reference Opcode: %X",
                         ObjDesc->Reference.Opcode));
 
                     return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
@@ -351,8 +364,8 @@ AcpiExResolveOperands (
 
             /* Invalid descriptor */
 
-            ACPI_REPORT_ERROR ((
-                "Invalid descriptor %p [%s]\n",
+            ACPI_ERROR ((AE_INFO,
+                "Invalid descriptor %p [%s]",
                 ObjDesc, AcpiUtGetDescriptorName (ObjDesc)));
 
             return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
@@ -516,8 +529,8 @@ AcpiExResolveOperands (
             {
                 if (Status == AE_TYPE)
                 {
-                    ACPI_REPORT_ERROR ((
-                        "Needed [Integer/String/Buffer], found [%s] %p\n",
+                    ACPI_ERROR ((AE_INFO,
+                        "Needed [Integer/String/Buffer], found [%s] %p",
                         AcpiUtGetObjectTypeName (ObjDesc), ObjDesc));
 
                     return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
@@ -545,8 +558,8 @@ AcpiExResolveOperands (
             {
                 if (Status == AE_TYPE)
                 {
-                    ACPI_REPORT_ERROR ((
-                        "Needed [Integer/String/Buffer], found [%s] %p\n",
+                    ACPI_ERROR ((AE_INFO,
+                        "Needed [Integer/String/Buffer], found [%s] %p",
                         AcpiUtGetObjectTypeName (ObjDesc), ObjDesc));
 
                     return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
@@ -575,8 +588,8 @@ AcpiExResolveOperands (
             {
                 if (Status == AE_TYPE)
                 {
-                    ACPI_REPORT_ERROR ((
-                        "Needed [Integer/String/Buffer], found [%s] %p\n",
+                    ACPI_ERROR ((AE_INFO,
+                        "Needed [Integer/String/Buffer], found [%s] %p",
                         AcpiUtGetObjectTypeName (ObjDesc), ObjDesc));
 
                     return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
@@ -606,8 +619,8 @@ AcpiExResolveOperands (
                break;
 
             default:
-                ACPI_REPORT_ERROR ((
-                    "Needed [Integer/String/Buffer], found [%s] %p\n",
+                ACPI_ERROR ((AE_INFO,
+                    "Needed [Integer/String/Buffer], found [%s] %p",
                     AcpiUtGetObjectTypeName (ObjDesc), ObjDesc));
 
                 return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
@@ -644,8 +657,8 @@ AcpiExResolveOperands (
                 break;
 
             default:
-                ACPI_REPORT_ERROR ((
-                    "Needed [Integer/String/Buffer], found [%s] %p\n",
+                ACPI_ERROR ((AE_INFO,
+                    "Needed [Integer/String/Buffer], found [%s] %p",
                     AcpiUtGetObjectTypeName (ObjDesc), ObjDesc));
 
                 return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
@@ -672,8 +685,8 @@ AcpiExResolveOperands (
                 break;
 
             default:
-                ACPI_REPORT_ERROR ((
-                    "Needed [Buffer/String/Package/Reference], found [%s] %p\n",
+                ACPI_ERROR ((AE_INFO,
+                    "Needed [Buffer/String/Package/Reference], found [%s] %p",
                     AcpiUtGetObjectTypeName (ObjDesc), ObjDesc));
 
                 return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
@@ -695,8 +708,8 @@ AcpiExResolveOperands (
                 break;
 
             default:
-                ACPI_REPORT_ERROR ((
-                    "Needed [Buffer/String/Package], found [%s] %p\n",
+                ACPI_ERROR ((AE_INFO,
+                    "Needed [Buffer/String/Package], found [%s] %p",
                     AcpiUtGetObjectTypeName (ObjDesc), ObjDesc));
 
                 return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
@@ -719,8 +732,8 @@ AcpiExResolveOperands (
                 break;
 
             default:
-                ACPI_REPORT_ERROR ((
-                    "Needed [Region/RegionField], found [%s] %p\n",
+                ACPI_ERROR ((AE_INFO,
+                    "Needed [Region/RegionField], found [%s] %p",
                     AcpiUtGetObjectTypeName (ObjDesc), ObjDesc));
 
                 return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
@@ -767,8 +780,8 @@ AcpiExResolveOperands (
                     break;
                 }
 
-                ACPI_REPORT_ERROR ((
-                    "Needed Integer/Buffer/String/Package/Ref/Ddb], found [%s] %p\n",
+                ACPI_ERROR ((AE_INFO,
+                    "Needed Integer/Buffer/String/Package/Ref/Ddb], found [%s] %p",
                     AcpiUtGetObjectTypeName (ObjDesc), ObjDesc));
 
                 return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
@@ -780,8 +793,8 @@ AcpiExResolveOperands (
 
             /* Unknown type */
 
-            ACPI_REPORT_ERROR ((
-                "Internal - Unknown ARGI (required operand) type %X\n",
+            ACPI_ERROR ((AE_INFO,
+                "Internal - Unknown ARGI (required operand) type %X",
                 ThisArgType));
 
             return_ACPI_STATUS (AE_BAD_PARAMETER);
Index: sys/dev/acpi/acpica/Subsystem/exstore.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/exstore.c,v
retrieving revision 1.14
diff -u -u -p -r1.14 exstore.c
--- sys/dev/acpi/acpica/Subsystem/exstore.c	29 Jan 2006 03:05:47 -0000	1.14
+++ sys/dev/acpi/acpica/Subsystem/exstore.c	8 Mar 2006 04:07:37 -0000
@@ -2,7 +2,7 @@
 /******************************************************************************
  *
  * Module Name: exstore - AML Interpreter object store support
- *              xRevision: 1.198 $
+ *              xRevision: 1.199 $
  *
  *****************************************************************************/
 
@@ -344,7 +344,7 @@ AcpiExStore (
 
     if (!SourceDesc || !DestDesc)
     {
-        ACPI_REPORT_ERROR (("Null parameter\n"));
+        ACPI_ERROR ((AE_INFO, "Null parameter"));
         return_ACPI_STATUS (AE_AML_NO_OPERAND);
     }
 
@@ -385,8 +385,8 @@ AcpiExStore (
 
         /* Destination is not a Reference object */
 
-        ACPI_REPORT_ERROR ((
-            "Target is not a Reference or Constant object - %s [%p]\n",
+        ACPI_ERROR ((AE_INFO,
+            "Target is not a Reference or Constant object - %s [%p]",
             AcpiUtGetObjectTypeName (DestDesc), DestDesc));
 
         ACPI_DUMP_STACK_ENTRY (SourceDesc);
@@ -452,7 +452,7 @@ AcpiExStore (
 
     default:
 
-        ACPI_REPORT_ERROR (("Unknown Reference opcode %X\n",
+        ACPI_ERROR ((AE_INFO, "Unknown Reference opcode %X",
             RefDesc->Reference.Opcode));
         ACPI_DUMP_ENTRY (RefDesc, ACPI_LV_ERROR);
 
@@ -594,8 +594,8 @@ AcpiExStoreObjectToIndex (
 
             /* All other types are invalid */
 
-            ACPI_REPORT_ERROR ((
-                "Source must be Integer/Buffer/String type, not %s\n",
+            ACPI_ERROR ((AE_INFO,
+                "Source must be Integer/Buffer/String type, not %s",
                 AcpiUtGetObjectTypeName (SourceDesc)));
             return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
         }
@@ -607,8 +607,8 @@ AcpiExStoreObjectToIndex (
 
 
     default:
-        ACPI_REPORT_ERROR ((
-            "Target is not a Package or BufferField\n"));
+        ACPI_ERROR ((AE_INFO,
+            "Target is not a Package or BufferField"));
         Status = AE_AML_OPERAND_TYPE;
         break;
     }
Index: sys/dev/acpi/acpica/Subsystem/exstoren.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/exstoren.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 exstoren.c
--- sys/dev/acpi/acpica/Subsystem/exstoren.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/exstoren.c	8 Mar 2006 04:07:37 -0000
@@ -3,7 +3,7 @@
  *
  * Module Name: exstoren - AML Interpreter object store support,
  *                        Store to Node (namespace object)
- *              xRevision: 1.66 $
+ *              xRevision: 1.68 $
  *
  *****************************************************************************/
 
@@ -207,8 +207,8 @@ AcpiExResolveObject (
         {
             /* Conversion successful but still not a valid type */
 
-            ACPI_REPORT_ERROR ((
-                "Cannot assign type %s to %s (must be type Int/Str/Buf)\n",
+            ACPI_ERROR ((AE_INFO,
+                "Cannot assign type %s to %s (must be type Int/Str/Buf)",
                 AcpiUtGetObjectTypeName (SourceDesc),
                 AcpiUtGetTypeName (TargetType)));
             Status = AE_AML_OPERAND_TYPE;
@@ -219,9 +219,11 @@ AcpiExResolveObject (
     case ACPI_TYPE_LOCAL_ALIAS:
     case ACPI_TYPE_LOCAL_METHOD_ALIAS:
 
-        /* Aliases are resolved by AcpiExPrepOperands */
-
-        ACPI_REPORT_ERROR (("Store into Alias - should never happen\n"));
+        /*
+         * All aliases should have been resolved earlier, during the 
+         * operand resolution phase.
+         */
+        ACPI_ERROR ((AE_INFO, "Store into an unresolved Alias object"));
         Status = AE_AML_INTERNAL;
         break;
 
@@ -365,7 +367,7 @@ AcpiExStoreObjectToObject (
         /*
          * All other types come here.
          */
-        ACPI_REPORT_WARNING (("Store into type %s not implemented\n",
+        ACPI_WARNING ((AE_INFO, "Store into type %s not implemented",
             AcpiUtGetObjectTypeName (DestDesc)));
 
         Status = AE_NOT_IMPLEMENTED;
Index: sys/dev/acpi/acpica/Subsystem/exsystem.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/exsystem.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 exsystem.c
--- sys/dev/acpi/acpica/Subsystem/exsystem.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/exsystem.c	8 Mar 2006 04:07:37 -0000
@@ -2,7 +2,7 @@
 /******************************************************************************
  *
  * Module Name: exsystem - Interface to OS services
- *              xRevision: 1.86 $
+ *              xRevision: 1.87 $
  *
  *****************************************************************************/
 
@@ -223,7 +223,7 @@ AcpiExSystemDoStall (
          * (ACPI specifies 100 usec as max, but this gives some slack in
          * order to support existing BIOSs)
          */
-        ACPI_REPORT_ERROR (("Time parameter is too large (%d)\n",
+        ACPI_ERROR ((AE_INFO, "Time parameter is too large (%d)",
             HowLong));
         Status = AE_AML_OPERAND_VALUE;
     }
Index: sys/dev/acpi/acpica/Subsystem/exutils.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/exutils.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 exutils.c
--- sys/dev/acpi/acpica/Subsystem/exutils.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/exutils.c	8 Mar 2006 04:07:38 -0000
@@ -2,7 +2,7 @@
 /******************************************************************************
  *
  * Module Name: exutils - interpreter/scanner utilities
- *              xRevision: 1.120 $
+ *              xRevision: 1.121 $
  *
  *****************************************************************************/
 
@@ -178,7 +178,7 @@ AcpiExEnterInterpreter (
     Status = AcpiUtAcquireMutex (ACPI_MTX_EXECUTE);
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("Could not acquire interpreter mutex\n"));
+        ACPI_ERROR ((AE_INFO, "Could not acquire interpreter mutex"));
     }
 
     return_ACPI_STATUS (Status);
@@ -220,7 +220,7 @@ AcpiExExitInterpreter (
     Status = AcpiUtReleaseMutex (ACPI_MTX_EXECUTE);
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("Could not release interpreter mutex\n"));
+        ACPI_ERROR ((AE_INFO, "Could not release interpreter mutex"));
     }
 
     return_VOID;
@@ -308,9 +308,8 @@ AcpiExAcquireGlobalLock (
         }
         else
         {
-            ACPI_REPORT_ERROR ((
-                "Could not acquire Global Lock, %s\n",
-                AcpiFormatException (Status)));
+            ACPI_EXCEPTION ((AE_INFO, Status,
+                "Could not acquire Global Lock"));
         }
     }
 
@@ -352,8 +351,8 @@ AcpiExReleaseGlobalLock (
         {
             /* Report the error, but there isn't much else we can do */
 
-            ACPI_REPORT_ERROR (("Could not release ACPI Global Lock, %s\n",
-                AcpiFormatException (Status)));
+            ACPI_EXCEPTION ((AE_INFO, Status,
+                "Could not release ACPI Global Lock"));
         }
     }
 
Index: sys/dev/acpi/acpica/Subsystem/hwacpi.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/hwacpi.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 hwacpi.c
--- sys/dev/acpi/acpica/Subsystem/hwacpi.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/hwacpi.c	8 Mar 2006 04:07:38 -0000
@@ -2,7 +2,7 @@
 /******************************************************************************
  *
  * Module Name: hwacpi - ACPI Hardware Initialization/Mode Interface
- *              xRevision: 1.72 $
+ *              xRevision: 1.73 $
  *
  *****************************************************************************/
 
@@ -154,7 +154,7 @@ AcpiHwInitialize (
 
     if (!AcpiGbl_FADT)
     {
-        ACPI_REPORT_ERROR (("No FADT is present\n"));
+        ACPI_ERROR ((AE_INFO, "No FADT is present"));
         return_ACPI_STATUS (AE_NO_ACPI_TABLES);
     }
 
@@ -199,7 +199,7 @@ AcpiHwSetMode (
      */
     if (!AcpiGbl_FADT->SmiCmd)
     {
-        ACPI_REPORT_ERROR (("No SMI_CMD in FADT, mode transition failed\n"));
+        ACPI_ERROR ((AE_INFO, "No SMI_CMD in FADT, mode transition failed"));
         return_ACPI_STATUS (AE_NO_HARDWARE_RESPONSE);
     }
 
@@ -212,8 +212,8 @@ AcpiHwSetMode (
      */
     if (!AcpiGbl_FADT->AcpiEnable && !AcpiGbl_FADT->AcpiDisable)
     {
-        ACPI_REPORT_ERROR ((
-            "No ACPI mode transition supported in this system (enable/disable both zero)\n"));
+        ACPI_ERROR ((AE_INFO,
+            "No ACPI mode transition supported in this system (enable/disable both zero)"));
         return_ACPI_STATUS (AE_OK);
     }
 
@@ -246,8 +246,8 @@ AcpiHwSetMode (
 
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("Could not write mode change, %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status,
+            "Could not write ACPI mode change"));
         return_ACPI_STATUS (Status);
     }
 
@@ -268,7 +268,7 @@ AcpiHwSetMode (
         Retry--;
     }
 
-    ACPI_REPORT_ERROR (("Hardware never changed modes\n"));
+    ACPI_ERROR ((AE_INFO, "Hardware did not change modes"));
     return_ACPI_STATUS (AE_NO_HARDWARE_RESPONSE);
 }
 
Index: sys/dev/acpi/acpica/Subsystem/hwregs.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/hwregs.c,v
retrieving revision 1.17
diff -u -u -p -r1.17 hwregs.c
--- sys/dev/acpi/acpica/Subsystem/hwregs.c	29 Jan 2006 03:05:47 -0000	1.17
+++ sys/dev/acpi/acpica/Subsystem/hwregs.c	8 Mar 2006 04:07:38 -0000
@@ -3,7 +3,7 @@
  *
  * Module Name: hwregs - Read/write access functions for the various ACPI
  *                       control and status registers.
- *              xRevision: 1.175 $
+ *              xRevision: 1.176 $
  *
  ******************************************************************************/
 
@@ -255,7 +255,7 @@ AcpiGetSleepTypeData (
 
     if (!Info.ReturnObject)
     {
-        ACPI_REPORT_ERROR (("No Sleep State object returned from [%s]\n",
+        ACPI_ERROR ((AE_INFO, "No Sleep State object returned from [%s]",
             SleepStateName));
         Status = AE_NOT_EXIST;
     }
@@ -264,7 +264,7 @@ AcpiGetSleepTypeData (
 
     else if (ACPI_GET_OBJECT_TYPE (Info.ReturnObject) != ACPI_TYPE_PACKAGE)
     {
-        ACPI_REPORT_ERROR (("Sleep State return object is not a Package\n"));
+        ACPI_ERROR ((AE_INFO, "Sleep State return object is not a Package"));
         Status = AE_AML_OPERAND_TYPE;
     }
 
@@ -277,8 +277,8 @@ AcpiGetSleepTypeData (
      */
     else if (Info.ReturnObject->Package.Count < 2)
     {
-        ACPI_REPORT_ERROR ((
-            "Sleep State return package does not have at least two elements\n"));
+        ACPI_ERROR ((AE_INFO,
+            "Sleep State return package does not have at least two elements"));
         Status = AE_AML_NO_OPERAND;
     }
 
@@ -289,8 +289,8 @@ AcpiGetSleepTypeData (
              (ACPI_GET_OBJECT_TYPE (Info.ReturnObject->Package.Elements[1])
                 != ACPI_TYPE_INTEGER))
     {
-        ACPI_REPORT_ERROR ((
-            "Sleep State return package elements are not both Integers (%s, %s)\n",
+        ACPI_ERROR ((AE_INFO,
+            "Sleep State return package elements are not both Integers (%s, %s)",
             AcpiUtGetObjectTypeName (Info.ReturnObject->Package.Elements[0]),
             AcpiUtGetObjectTypeName (Info.ReturnObject->Package.Elements[1])));
         Status = AE_AML_OPERAND_TYPE;
@@ -307,9 +307,8 @@ AcpiGetSleepTypeData (
 
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR ((
-            "%s While evaluating SleepState [%s], bad Sleep object %p type %s\n",
-            AcpiFormatException (Status),
+        ACPI_EXCEPTION ((AE_INFO, Status,
+            "While evaluating SleepState [%s], bad Sleep object %p type %s",
             SleepStateName, Info.ReturnObject,
             AcpiUtGetObjectTypeName (Info.ReturnObject)));
     }
@@ -340,7 +339,7 @@ AcpiHwGetBitRegisterInfo (
 
     if (RegisterId > ACPI_BITREG_MAX)
     {
-        ACPI_REPORT_ERROR (("Invalid BitRegister ID: %X\n", RegisterId));
+        ACPI_ERROR ((AE_INFO, "Invalid BitRegister ID: %X", RegisterId));
         return (NULL);
     }
 
@@ -455,7 +454,7 @@ AcpiSetRegister (
     BitRegInfo = AcpiHwGetBitRegisterInfo (RegisterId);
     if (!BitRegInfo)
     {
-        ACPI_REPORT_ERROR (("Bad ACPI HW RegisterId: %X\n", RegisterId));
+        ACPI_ERROR ((AE_INFO, "Bad ACPI HW RegisterId: %X", RegisterId));
         return_ACPI_STATUS (AE_BAD_PARAMETER);
     }
 
@@ -683,7 +682,7 @@ AcpiHwRegisterRead (
         break;
 
     default:
-        ACPI_REPORT_ERROR (("Unknown Register ID: %X\n",
+        ACPI_ERROR ((AE_INFO, "Unknown Register ID: %X",
             RegisterId));
         Status = AE_BAD_PARAMETER;
         break;
@@ -897,8 +896,8 @@ AcpiHwLowLevelRead (
 
 
     default:
-        ACPI_REPORT_ERROR ((
-            "Unsupported address space: %X\n", Reg->AddressSpaceId));
+        ACPI_ERROR ((AE_INFO,
+            "Unsupported address space: %X", Reg->AddressSpaceId));
         return (AE_BAD_PARAMETER);
     }
 
@@ -979,8 +978,8 @@ AcpiHwLowLevelWrite (
 
 
     default:
-        ACPI_REPORT_ERROR ((
-            "Unsupported address space: %X\n", Reg->AddressSpaceId));
+        ACPI_ERROR ((AE_INFO,
+            "Unsupported address space: %X", Reg->AddressSpaceId));
         return (AE_BAD_PARAMETER);
     }
 
Index: sys/dev/acpi/acpica/Subsystem/hwsleep.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/hwsleep.c,v
retrieving revision 1.16
diff -u -u -p -r1.16 hwsleep.c
--- sys/dev/acpi/acpica/Subsystem/hwsleep.c	29 Jan 2006 03:05:47 -0000	1.16
+++ sys/dev/acpi/acpica/Subsystem/hwsleep.c	8 Mar 2006 04:07:38 -0000
@@ -2,7 +2,7 @@
 /******************************************************************************
  *
  * Name: hwsleep.c - ACPI Hardware Sleep/Wake Interface
- *              xRevision: 1.79 $
+ *              xRevision: 1.80 $
  *
  *****************************************************************************/
 
@@ -293,8 +293,7 @@ AcpiEnterSleepStatePrep (
     Status = AcpiEvaluateObject (NULL, METHOD_NAME__SST, &ArgList, NULL);
     if (ACPI_FAILURE (Status) && Status != AE_NOT_FOUND)
     {
-        ACPI_REPORT_ERROR (("Method _SST failed, %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status, "While executing method _SST"));
     }
 
     return_ACPI_STATUS (AE_OK);
@@ -333,7 +332,7 @@ AcpiEnterSleepState (
     if ((AcpiGbl_SleepTypeA > ACPI_SLEEP_TYPE_MAX) ||
         (AcpiGbl_SleepTypeB > ACPI_SLEEP_TYPE_MAX))
     {
-        ACPI_REPORT_ERROR (("Sleep values out of range: A=%X B=%X\n",
+        ACPI_ERROR ((AE_INFO, "Sleep values out of range: A=%X B=%X",
             AcpiGbl_SleepTypeA, AcpiGbl_SleepTypeB));
         return_ACPI_STATUS (AE_AML_OPERAND_VALUE);
     }
@@ -657,23 +656,20 @@ AcpiLeaveSleepState (
     Status = AcpiEvaluateObject (NULL, METHOD_NAME__SST, &ArgList, NULL);
     if (ACPI_FAILURE (Status) && Status != AE_NOT_FOUND)
     {
-        ACPI_REPORT_ERROR (("Method _SST failed, %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status, "During Method _SST"));
     }
 
     Arg.Integer.Value = SleepState;
     Status = AcpiEvaluateObject (NULL, METHOD_NAME__BFS, &ArgList, NULL);
     if (ACPI_FAILURE (Status) && Status != AE_NOT_FOUND)
     {
-        ACPI_REPORT_ERROR (("Method _BFS failed, %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status, "During Method _BFS"));
     }
 
     Status = AcpiEvaluateObject (NULL, METHOD_NAME__WAK, &ArgList, NULL);
     if (ACPI_FAILURE (Status) && Status != AE_NOT_FOUND)
     {
-        ACPI_REPORT_ERROR (("Method _WAK failed, %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status, "During Method _WAK"));
     }
     /* TBD: _WAK "sometimes" returns stuff - do we want to look at it? */
 
@@ -717,8 +713,7 @@ AcpiLeaveSleepState (
     Status = AcpiEvaluateObject (NULL, METHOD_NAME__SST, &ArgList, NULL);
     if (ACPI_FAILURE (Status) && Status != AE_NOT_FOUND)
     {
-        ACPI_REPORT_ERROR (("Method _SST failed, %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status, "During Method _SST"));
     }
 
     return_ACPI_STATUS (Status);
Index: sys/dev/acpi/acpica/Subsystem/nsaccess.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/nsaccess.c,v
retrieving revision 1.14
diff -u -u -p -r1.14 nsaccess.c
--- sys/dev/acpi/acpica/Subsystem/nsaccess.c	29 Jan 2006 03:05:47 -0000	1.14
+++ sys/dev/acpi/acpica/Subsystem/nsaccess.c	8 Mar 2006 04:07:39 -0000
@@ -1,7 +1,7 @@
 /*******************************************************************************
  *
  * Module Name: nsaccess - Top-level functions for accessing ACPI namespace
- *              xRevision: 1.195 $
+ *              xRevision: 1.196 $
  *
  ******************************************************************************/
 
@@ -199,9 +199,9 @@ AcpiNsRootInitialize (
 
         if (ACPI_FAILURE (Status) || (!NewNode)) /* Must be on same line for code converter */
         {
-            ACPI_REPORT_ERROR ((
-                "Could not create predefined name %s, %s\n",
-                InitVal->Name, AcpiFormatException (Status)));
+            ACPI_EXCEPTION ((AE_INFO, Status,
+                "Could not create predefined name %s",
+                InitVal->Name));
         }
 
         /*
@@ -214,8 +214,8 @@ AcpiNsRootInitialize (
             Status = AcpiOsPredefinedOverride (InitVal, &Val);
             if (ACPI_FAILURE (Status))
             {
-                ACPI_REPORT_ERROR ((
-                    "Could not override predefined %s\n",
+                ACPI_ERROR ((AE_INFO,
+                    "Could not override predefined %s",
                     InitVal->Name));
             }
 
@@ -322,7 +322,7 @@ AcpiNsRootInitialize (
 
             default:
 
-                ACPI_REPORT_ERROR (("Unsupported initial type value %X\n",
+                ACPI_ERROR ((AE_INFO, "Unsupported initial type value %X",
                     InitVal->Type));
                 AcpiUtRemoveReference (ObjDesc);
                 ObjDesc = NULL;
@@ -438,7 +438,7 @@ AcpiNsLookup (
         PrefixNode = ScopeInfo->Scope.Node;
         if (ACPI_GET_DESCRIPTOR_TYPE (PrefixNode) != ACPI_DESC_TYPE_NAMED)
         {
-            ACPI_REPORT_ERROR (("%p is not a namespace node [%s]\n",
+            ACPI_ERROR ((AE_INFO, "%p is not a namespace node [%s]",
                 PrefixNode, AcpiUtGetDescriptorName (PrefixNode)));
             return_ACPI_STATUS (AE_AML_INTERNAL);
         }
@@ -535,8 +535,8 @@ AcpiNsLookup (
                 {
                     /* Current scope has no parent scope */
 
-                    ACPI_REPORT_ERROR (
-                        ("ACPI path has too many parent prefixes (^) - reached beyond root node\n"));
+                    ACPI_ERROR ((AE_INFO,
+                        "ACPI path has too many parent prefixes (^) - reached beyond root node"));
                     return_ACPI_STATUS (AE_NOT_FOUND);
                 }
             }
@@ -710,8 +710,8 @@ AcpiNsLookup (
         {
             /* Complain about a type mismatch */
 
-            ACPI_REPORT_WARNING ((
-                "NsLookup: Type mismatch on %4.4s (%s), searching for (%s)\n",
+            ACPI_WARNING ((AE_INFO,
+                "NsLookup: Type mismatch on %4.4s (%s), searching for (%s)",
                 ACPI_CAST_PTR (char, &SimpleName),
                 AcpiUtGetTypeName (ThisNode->Type),
                 AcpiUtGetTypeName (TypeToCheckFor)));
Index: sys/dev/acpi/acpica/Subsystem/nsalloc.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/nsalloc.c,v
retrieving revision 1.17
diff -u -u -p -r1.17 nsalloc.c
--- sys/dev/acpi/acpica/Subsystem/nsalloc.c	29 Jan 2006 03:05:47 -0000	1.17
+++ sys/dev/acpi/acpica/Subsystem/nsalloc.c	8 Mar 2006 04:07:39 -0000
@@ -1,7 +1,7 @@
 /*******************************************************************************
  *
  * Module Name: nsalloc - Namespace allocation and deletion utilities
- *              xRevision: 1.99 $
+ *              xRevision: 1.100 $
  *
  ******************************************************************************/
 
@@ -393,7 +393,7 @@ AcpiNsDeleteChildren (
 
         if (ChildNode->Child)
         {
-            ACPI_REPORT_ERROR (("Found a grandchild! P=%p C=%p\n",
+            ACPI_ERROR ((AE_INFO, "Found a grandchild! P=%p C=%p",
                 ParentNode, ChildNode));
         }
 
@@ -423,8 +423,8 @@ AcpiNsDeleteChildren (
 
         if (ChildNode->ReferenceCount != 1)
         {
-            ACPI_REPORT_WARNING ((
-                "Existing references (%d) on node being deleted (%p)\n",
+            ACPI_WARNING ((AE_INFO,
+                "Existing references (%d) on node being deleted (%p)",
                 ChildNode->ReferenceCount, ChildNode));
         }
 
Index: sys/dev/acpi/acpica/Subsystem/nsdump.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/nsdump.c,v
retrieving revision 1.16
diff -u -u -p -r1.16 nsdump.c
--- sys/dev/acpi/acpica/Subsystem/nsdump.c	29 Jan 2006 03:05:47 -0000	1.16
+++ sys/dev/acpi/acpica/Subsystem/nsdump.c	8 Mar 2006 04:07:39 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: nsdump - table dumping routines for debug
- *              xRevision: 1.175 $
+ *              xRevision: 1.176 $
  *
  *****************************************************************************/
 
@@ -311,12 +311,12 @@ AcpiNsDumpOneObject (
 
         if (Type > ACPI_TYPE_LOCAL_MAX)
         {
-            ACPI_REPORT_WARNING (("Invalid ACPI Object Type %08X\n", Type));
+            ACPI_WARNING ((AE_INFO, "Invalid ACPI Object Type %08X", Type));
         }
 
         if (!AcpiUtValidAcpiName (ThisNode->Name.Integer))
         {
-            ACPI_REPORT_WARNING (("Invalid ACPI Name %08X\n",
+            ACPI_WARNING ((AE_INFO, "Invalid ACPI Name %08X",
                 ThisNode->Name.Integer));
         }
 
Index: sys/dev/acpi/acpica/Subsystem/nseval.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/nseval.c,v
retrieving revision 1.15
diff -u -u -p -r1.15 nseval.c
--- sys/dev/acpi/acpica/Subsystem/nseval.c	29 Jan 2006 03:05:47 -0000	1.15
+++ sys/dev/acpi/acpica/Subsystem/nseval.c	8 Mar 2006 04:07:39 -0000
@@ -2,7 +2,7 @@
  *
  * Module Name: nseval - Object evaluation interfaces -- includes control
  *                       method lookup and execution.
- *              xRevision: 1.136 $
+ *              xRevision: 1.137 $
  *
  ******************************************************************************/
 
@@ -494,7 +494,7 @@ AcpiNsExecuteControlMethod (
     Info->ObjDesc = AcpiNsGetAttachedObject (Info->Node);
     if (!Info->ObjDesc)
     {
-        ACPI_REPORT_ERROR (("No attached method object\n"));
+        ACPI_ERROR ((AE_INFO, "No attached method object"));
 
         (void) AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE);
         return_ACPI_STATUS (AE_NULL_OBJECT);
Index: sys/dev/acpi/acpica/Subsystem/nsinit.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/nsinit.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 nsinit.c
--- sys/dev/acpi/acpica/Subsystem/nsinit.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/nsinit.c	8 Mar 2006 04:07:39 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: nsinit - namespace initialization
- *              xRevision: 1.72 $
+ *              xRevision: 1.74 $
  *
  *****************************************************************************/
 
@@ -185,8 +185,7 @@ AcpiNsInitializeObjects (
                                 &Info, NULL);
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("WalkNamespace failed! %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status, "During WalkNamespace"));
     }
 
     ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INIT,
@@ -256,12 +255,11 @@ AcpiNsInitializeDevices (
 
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("WalkNamespace failed! %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status, "During WalkNamespace"));
     }
 
     ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INIT,
-        "\n%hd Devices found containing: %hd _STA, %hd _INI methods\n",
+        "\n%hd Devices found - executed %hd _STA, %hd _INI methods\n",
         Info.DeviceCount, Info.Num_STA, Info.Num_INI));
 
     return_ACPI_STATUS (Status);
@@ -396,10 +394,9 @@ AcpiNsInitOneObject (
 
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR ((
-            "\nCould not execute arguments for [%4.4s] (%s), %s\n",
-            AcpiUtGetNodeName (Node), AcpiUtGetTypeName (Type),
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status,
+            "Could not execute arguments for [%4.4s] (%s)",
+            AcpiUtGetNodeName (Node), AcpiUtGetTypeName (Type)));
     }
 
     /*
@@ -538,7 +535,7 @@ AcpiNsInitOneDevice (
 #ifdef ACPI_DEBUG_OUTPUT
         char        *ScopeName = AcpiNsGetExternalPathname (IniNode);
 
-        ACPI_REPORT_WARNING (("%s._INI failed: %s\n",
+        ACPI_WARNING ((AE_INFO, "%s._INI failed: %s",
             ScopeName, AcpiFormatException (Status)));
 
         ACPI_MEM_FREE (ScopeName);
Index: sys/dev/acpi/acpica/Subsystem/nsload.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/nsload.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 nsload.c
--- sys/dev/acpi/acpica/Subsystem/nsload.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/nsload.c	8 Mar 2006 04:07:40 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: nsload - namespace loading/expanding/contracting procedures
- *              xRevision: 1.75 $
+ *              xRevision: 1.76 $
  *
  *****************************************************************************/
 
@@ -182,7 +182,7 @@ AcpiNsLoadTable (
 
     if (!TableDesc->AmlStart)
     {
-        ACPI_REPORT_ERROR (("Null AML pointer\n"));
+        ACPI_ERROR ((AE_INFO, "Null AML pointer"));
         return_ACPI_STATUS (AE_BAD_PARAMETER);
     }
 
@@ -193,7 +193,7 @@ AcpiNsLoadTable (
 
     if (!TableDesc->AmlLength)
     {
-        ACPI_REPORT_WARNING (("Zero-length AML block in table [%4.4s]\n",
+        ACPI_WARNING ((AE_INFO, "Zero-length AML block in table [%4.4s]",
             TableDesc->Pointer->Signature));
         return_ACPI_STATUS (AE_OK);
     }
@@ -374,7 +374,7 @@ AcpiNsLoadNamespace (
 
     if (AcpiGbl_DSDT == NULL)
     {
-        ACPI_REPORT_ERROR (("DSDT is not in memory\n"));
+        ACPI_ERROR ((AE_INFO, "DSDT is not in memory"));
         return_ACPI_STATUS (AE_NO_ACPI_TABLES);
     }
 
Index: sys/dev/acpi/acpica/Subsystem/nsnames.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/nsnames.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 nsnames.c
--- sys/dev/acpi/acpica/Subsystem/nsnames.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/nsnames.c	8 Mar 2006 04:07:40 -0000
@@ -1,7 +1,7 @@
 /*******************************************************************************
  *
  * Module Name: nsnames - Name manipulation and search
- *              xRevision: 1.93 $
+ *              xRevision: 1.94 $
  *
  ******************************************************************************/
 
@@ -200,8 +200,8 @@ AcpiNsBuildExternalPath (
 
     if (Index != 0)
     {
-        ACPI_REPORT_ERROR ((
-            "Could not construct pathname; index=%X, size=%X, Path=%s\n",
+        ACPI_ERROR ((AE_INFO,
+            "Could not construct pathname; index=%X, size=%X, Path=%s",
             (UINT32) Index, (UINT32) Size, &NameBuffer[Size]));
     }
 
@@ -244,7 +244,7 @@ AcpiNsGetExternalPathname (
     NameBuffer = ACPI_MEM_CALLOCATE (Size);
     if (!NameBuffer)
     {
-        ACPI_REPORT_ERROR (("Allocation failure\n"));
+        ACPI_ERROR ((AE_INFO, "Allocation failure"));
         return_PTR (NULL);
     }
 
Index: sys/dev/acpi/acpica/Subsystem/nsobject.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/nsobject.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 nsobject.c
--- sys/dev/acpi/acpica/Subsystem/nsobject.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/nsobject.c	8 Mar 2006 04:07:40 -0000
@@ -2,7 +2,7 @@
  *
  * Module Name: nsobject - Utilities for objects attached to namespace
  *                         table entries
- *              xRevision: 1.95 $
+ *              xRevision: 1.96 $
  *
  ******************************************************************************/
 
@@ -171,7 +171,7 @@ AcpiNsAttachObject (
     {
         /* Invalid handle */
 
-        ACPI_REPORT_ERROR (("Null NamedObj handle\n"));
+        ACPI_ERROR ((AE_INFO, "Null NamedObj handle"));
         return_ACPI_STATUS (AE_BAD_PARAMETER);
     }
 
@@ -179,8 +179,8 @@ AcpiNsAttachObject (
     {
         /* Null object */
 
-        ACPI_REPORT_ERROR ((
-            "Null object, but type not ACPI_TYPE_ANY\n"));
+        ACPI_ERROR ((AE_INFO,
+            "Null object, but type not ACPI_TYPE_ANY"));
         return_ACPI_STATUS (AE_BAD_PARAMETER);
     }
 
@@ -188,7 +188,7 @@ AcpiNsAttachObject (
     {
         /* Not a name handle */
 
-        ACPI_REPORT_ERROR (("Invalid handle %p [%s]\n",
+        ACPI_ERROR ((AE_INFO, "Invalid handle %p [%s]",
             Node, AcpiUtGetDescriptorName (Node)));
         return_ACPI_STATUS (AE_BAD_PARAMETER);
     }
@@ -361,7 +361,7 @@ AcpiNsGetAttachedObject (
 
     if (!Node)
     {
-        ACPI_REPORT_WARNING (("Null Node ptr\n"));
+        ACPI_WARNING ((AE_INFO, "Null Node ptr"));
         return_PTR (NULL);
     }
 
Index: sys/dev/acpi/acpica/Subsystem/nssearch.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/nssearch.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 nssearch.c
--- sys/dev/acpi/acpica/Subsystem/nssearch.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/nssearch.c	8 Mar 2006 04:07:40 -0000
@@ -1,7 +1,7 @@
 /*******************************************************************************
  *
  * Module Name: nssearch - Namespace search
- *              xRevision: 1.109 $
+ *              xRevision: 1.110 $
  *
  ******************************************************************************/
 
@@ -394,8 +394,8 @@ AcpiNsSearchAndEnter (
 
     if (!Node || !TargetName || !ReturnNode)
     {
-        ACPI_REPORT_ERROR ((
-            "Null param: Node %p Name %X ReturnNode %p\n",
+        ACPI_ERROR ((AE_INFO,
+            "Null param: Node %p Name %X ReturnNode %p",
             Node, TargetName, ReturnNode));
         return_ACPI_STATUS (AE_BAD_PARAMETER);
     }
@@ -404,7 +404,7 @@ AcpiNsSearchAndEnter (
 
     if (!AcpiUtValidAcpiName (TargetName))
     {
-        ACPI_REPORT_ERROR (("Bad character in ACPI Name: %X\n",
+        ACPI_ERROR ((AE_INFO, "Bad character in ACPI Name: %X",
             TargetName));
         return_ACPI_STATUS (AE_BAD_CHARACTER);
     }
Index: sys/dev/acpi/acpica/Subsystem/nsutils.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/nsutils.c,v
retrieving revision 1.15
diff -u -u -p -r1.15 nsutils.c
--- sys/dev/acpi/acpica/Subsystem/nsutils.c	29 Jan 2006 03:05:47 -0000	1.15
+++ sys/dev/acpi/acpica/Subsystem/nsutils.c	8 Mar 2006 04:07:40 -0000
@@ -2,7 +2,7 @@
  *
  * Module Name: nsutils - Utilities for accessing ACPI namespace, accessing
  *                        parents and siblings and Scope manipulation
- *              xRevision: 1.145 $
+ *              xRevision: 1.148 $
  *
  *****************************************************************************/
 
@@ -164,6 +164,7 @@ AcpiNsReportError (
     ACPI_STATUS             LookupStatus)
 {
     ACPI_STATUS             Status;
+    UINT32                  BadName;
     char                    *Name = NULL;
 
 
@@ -173,8 +174,8 @@ AcpiNsReportError (
     {
         /* There is a non-ascii character in the name */
 
-        AcpiOsPrintf ("[0x%4.4X] (NON-ASCII)\n",
-            *(ACPI_CAST_CONST_PTR (UINT32, InternalName)));
+        ACPI_MOVE_32_TO_32 (&BadName, InternalName);
+        AcpiOsPrintf ("[0x%4.4X] (NON-ASCII)", BadName);
     }
     else
     {
@@ -200,7 +201,7 @@ AcpiNsReportError (
         }
     }
 
-    AcpiOsPrintf ("Namespace lookup failure, %s\n",
+    AcpiOsPrintf (" Namespace lookup failure, %s\n",
         AcpiFormatException (LookupStatus));
 }
 
@@ -360,7 +361,7 @@ AcpiNsGetType (
 
     if (!Node)
     {
-        ACPI_REPORT_WARNING (("Null Node parameter\n"));
+        ACPI_WARNING ((AE_INFO, "Null Node parameter"));
         return_UINT32 (ACPI_TYPE_ANY);
     }
 
@@ -392,7 +393,7 @@ AcpiNsLocal (
     {
         /* Type code out of range  */
 
-        ACPI_REPORT_WARNING (("Invalid Object Type %X\n", Type));
+        ACPI_WARNING ((AE_INFO, "Invalid Object Type %X", Type));
         return_UINT32 (ACPI_NS_NORMAL);
     }
 
@@ -809,7 +810,7 @@ AcpiNsExternalizeName (
      */
     if (RequiredLength > InternalNameLength)
     {
-        ACPI_REPORT_ERROR (("Invalid internal name\n"));
+        ACPI_ERROR ((AE_INFO, "Invalid internal name"));
         return_ACPI_STATUS (AE_BAD_PATHNAME);
     }
 
@@ -1015,7 +1016,7 @@ AcpiNsOpensScope (
     {
         /* type code out of range  */
 
-        ACPI_REPORT_WARNING (("Invalid Object Type %X\n", Type));
+        ACPI_WARNING ((AE_INFO, "Invalid Object Type %X", Type));
         return_UINT32 (ACPI_NS_NORMAL);
     }
 
Index: sys/dev/acpi/acpica/Subsystem/nsxfeval.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/nsxfeval.c,v
retrieving revision 1.9
diff -u -u -p -r1.9 nsxfeval.c
--- sys/dev/acpi/acpica/Subsystem/nsxfeval.c	29 Jan 2006 03:05:47 -0000	1.9
+++ sys/dev/acpi/acpica/Subsystem/nsxfeval.c	8 Mar 2006 04:07:41 -0000
@@ -2,7 +2,7 @@
  *
  * Module Name: nsxfeval - Public interfaces to the ACPI subsystem
  *                         ACPI Object evaluation interfaces
- *              xRevision: 1.21 $
+ *              xRevision: 1.24 $
  *
  ******************************************************************************/
 
@@ -197,7 +197,7 @@ AcpiEvaluateObjectTyped (
     {
         /* Error because caller specifically asked for a return value */
 
-        ACPI_REPORT_ERROR (("No return value\n"));
+        ACPI_ERROR ((AE_INFO, "No return value"));
         return_ACPI_STATUS (AE_NULL_OBJECT);
     }
 
@@ -210,8 +210,8 @@ AcpiEvaluateObjectTyped (
 
     /* Return object type does not match requested type */
 
-    ACPI_REPORT_ERROR ((
-        "Incorrect return type [%s] requested [%s]\n",
+    ACPI_ERROR ((AE_INFO,
+        "Incorrect return type [%s] requested [%s]",
         AcpiUtGetTypeName (((ACPI_OBJECT *) ReturnBuffer->Pointer)->Type),
         AcpiUtGetTypeName (ReturnType)));
 
@@ -306,7 +306,6 @@ AcpiEvaluateObject (
         Info.Parameters[ExternalParams->Count] = NULL;
     }
 
-
     /*
      * Three major cases:
      * 1) Fully qualified pathname
@@ -316,9 +315,8 @@ AcpiEvaluateObject (
     if ((Pathname) &&
         (AcpiNsValidRootPrefix (Pathname[0])))
     {
-        /*
-         *  The path is fully qualified, just evaluate by name
-         */
+        /* The path is fully qualified, just evaluate by name */
+
         Status = AcpiNsEvaluateByName (Pathname, &Info);
     }
     else if (!Handle)
@@ -330,13 +328,13 @@ AcpiEvaluateObject (
          */
         if (!Pathname)
         {
-            ACPI_REPORT_ERROR ((
-                "Both Handle and Pathname are NULL\n"));
+            ACPI_DEBUG_PRINT ((ACPI_DB_INFO,
+                "Both Handle and Pathname are NULL"));
         }
         else
         {
-            ACPI_REPORT_ERROR ((
-                "Handle is NULL and Pathname is relative\n"));
+            ACPI_DEBUG_PRINT ((ACPI_DB_INFO,
+                "Null Handle with relative pathname [%s]", Pathname));
         }
 
         Status = AE_BAD_PARAMETER;
@@ -358,9 +356,8 @@ AcpiEvaluateObject (
         }
         else
         {
-           /*
-            * Both a Handle and a relative Pathname
-            */
+            /* Both a Handle and a relative Pathname */
+
             Status = AcpiNsEvaluateRelative (Pathname, &Info);
         }
     }
@@ -410,7 +407,8 @@ AcpiEvaluateObject (
                     if (ACPI_FAILURE (Status))
                     {
                         /*
-                         * Caller's buffer is too small or a new one can't be allocated
+                         * Caller's buffer is too small or a new one can't
+                         * be allocated
                          */
                         ACPI_DEBUG_PRINT ((ACPI_DB_INFO,
                             "Needed buffer size %X, %s\n",
@@ -419,9 +417,8 @@ AcpiEvaluateObject (
                     }
                     else
                     {
-                        /*
-                         *  We have enough space for the object, build it
-                         */
+                        /* We have enough space for the object, build it */
+
                         Status = AcpiUtCopyIobjectToEobject (Info.ReturnObject,
                                         ReturnBuffer);
                     }
@@ -448,9 +445,8 @@ AcpiEvaluateObject (
         }
     }
 
-    /*
-     * Free the input parameter list (if we created one),
-     */
+    /* Free the input parameter list (if we created one) */
+
     if (Info.Parameters)
     {
         /* Free the allocated parameter block */
@@ -699,9 +695,9 @@ AcpiGetDevices (
      * We're going to call their callback from OUR callback, so we need
      * to know what it is, and their context parameter.
      */
+    Info.Hid          = HID;
     Info.Context      = Context;
     Info.UserFunction = UserFunction;
-    Info.Hid          = HID;
 
     /*
      * Lock the namespace around the walk.
@@ -715,11 +711,9 @@ AcpiGetDevices (
         return_ACPI_STATUS (Status);
     }
 
-    Status = AcpiNsWalkNamespace (ACPI_TYPE_DEVICE,
-                                    ACPI_ROOT_OBJECT, ACPI_UINT32_MAX,
-                                    ACPI_NS_WALK_UNLOCK,
-                                    AcpiNsGetDeviceCallback, &Info,
-                                    ReturnValue);
+    Status = AcpiNsWalkNamespace (ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT,
+                ACPI_UINT32_MAX, ACPI_NS_WALK_UNLOCK,
+                AcpiNsGetDeviceCallback, &Info, ReturnValue);
 
     (void) AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE);
     return_ACPI_STATUS (Status);
Index: sys/dev/acpi/acpica/Subsystem/nsxfname.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/nsxfname.c,v
retrieving revision 1.14
diff -u -u -p -r1.14 nsxfname.c
--- sys/dev/acpi/acpica/Subsystem/nsxfname.c	29 Jan 2006 03:05:47 -0000	1.14
+++ sys/dev/acpi/acpica/Subsystem/nsxfname.c	8 Mar 2006 04:07:41 -0000
@@ -2,7 +2,7 @@
  *
  * Module Name: nsxfname - Public interfaces to the ACPI subsystem
  *                         ACPI Namespace oriented interfaces
- *              xRevision: 1.105 $
+ *              xRevision: 1.106 $
  *
  *****************************************************************************/
 
@@ -410,8 +410,7 @@ AcpiGetObjectInfo (
         Status = AcpiUtExecute_CID (Node, &CidList);
         if (ACPI_SUCCESS (Status))
         {
-            Size += ((ACPI_SIZE) CidList->Count - 1) *
-                                 sizeof (ACPI_COMPATIBLE_ID);
+            Size += CidList->Size;
             Info->Valid |= ACPI_VALID_CID;
         }
 
Index: sys/dev/acpi/acpica/Subsystem/psargs.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/psargs.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 psargs.c
--- sys/dev/acpi/acpica/Subsystem/psargs.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/psargs.c	8 Mar 2006 04:07:41 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: psargs - Parse AML opcode arguments
- *              xRevision: 1.89 $
+ *              xRevision: 1.90 $
  *
  *****************************************************************************/
 
@@ -405,8 +405,8 @@ AcpiPsGetNextNamepath (
 
         if (!MethodDesc)
         {
-            ACPI_REPORT_ERROR ((
-                "Control Method %p has no attached object\n",
+            ACPI_ERROR ((AE_INFO,
+                "Control Method %p has no attached object",
                 Node));
             return_ACPI_STATUS (AE_AML_INTERNAL);
         }
@@ -459,7 +459,7 @@ AcpiPsGetNextNamepath (
 
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_NSERROR (Path, Status);
+        ACPI_ERROR_NAMESPACE (Path, Status);
 
         if ((WalkState->ParseFlags & ACPI_PARSE_MODE_MASK) ==
                 ACPI_PARSE_EXECUTE)
@@ -575,7 +575,7 @@ AcpiPsGetNextSimpleArg (
 
     default:
 
-        ACPI_REPORT_ERROR (("Invalid ArgType %X\n", ArgType));
+        ACPI_ERROR ((AE_INFO, "Invalid ArgType %X", ArgType));
         return_VOID;
     }
 
@@ -862,7 +862,7 @@ AcpiPsGetNextArg (
 
     default:
 
-        ACPI_REPORT_ERROR (("Invalid ArgType: %X\n", ArgType));
+        ACPI_ERROR ((AE_INFO, "Invalid ArgType: %X", ArgType));
         Status = AE_AML_OPERAND_TYPE;
         break;
     }
Index: sys/dev/acpi/acpica/Subsystem/psloop.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/psloop.c,v
retrieving revision 1.2
diff -u -u -p -r1.2 psloop.c
--- sys/dev/acpi/acpica/Subsystem/psloop.c	29 Jan 2006 03:10:55 -0000	1.2
+++ sys/dev/acpi/acpica/Subsystem/psloop.c	8 Mar 2006 04:07:42 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: psloop - Main AML parse loop
- *              xRevision: 1.8 $
+ *              xRevision: 1.10 $
  *
  *****************************************************************************/
 
@@ -204,14 +204,12 @@ AcpiPsParseLoop (
                 {
                     if (Status == AE_AML_NO_RETURN_VALUE)
                     {
-                        ACPI_REPORT_ERROR ((
-                            "Invoked method did not return a value, %s\n",
-                            AcpiFormatException (Status)));
+                        ACPI_EXCEPTION ((AE_INFO, Status,
+                            "Invoked method did not return a value"));
 
                     }
-                    ACPI_REPORT_ERROR ((
-                        "GetPredicate Failed, %s\n",
-                        AcpiFormatException (Status)));
+                    ACPI_EXCEPTION ((AE_INFO, Status,
+                        "GetPredicate Failed"));
                     return_ACPI_STATUS (Status);
                 }
 
@@ -268,8 +266,8 @@ AcpiPsParseLoop (
 
                 /* The opcode is unrecognized.  Just skip unknown opcodes */
 
-                ACPI_REPORT_ERROR ((
-                    "Found unknown opcode %X at AML address %p offset %X, ignoring\n",
+                ACPI_ERROR ((AE_INFO,
+                    "Found unknown opcode %X at AML address %p offset %X, ignoring",
                     WalkState->Opcode, ParserState->Aml, WalkState->AmlOffset));
 
                 ACPI_DUMP_BUFFER (ParserState->Aml, 128);
@@ -348,9 +346,8 @@ AcpiPsParseLoop (
                 Status = WalkState->DescendingCallback (WalkState, &Op);
                 if (ACPI_FAILURE (Status))
                 {
-                    ACPI_REPORT_ERROR ((
-                        "During name lookup/catalog, %s\n",
-                        AcpiFormatException (Status)));
+                    ACPI_EXCEPTION ((AE_INFO, Status,
+                        "During name lookup/catalog"));
                     goto CloseThisOp;
                 }
 
@@ -805,7 +802,17 @@ CloseThisOp:
                     {
                         return_ACPI_STATUS (Status2);
                     }
+
+                    Status2 = AcpiDsResultStackPop (WalkState);
+                    if (ACPI_FAILURE (Status2))
+                    {
+                        return_ACPI_STATUS (Status2);
+                    }
+
+                    AcpiUtDeleteGenericState (
+                        AcpiUtPopGenericState (&WalkState->ControlState));
                 }
+
                 AcpiPsPopScope (ParserState, &Op,
                     &WalkState->ArgTypes, &WalkState->ArgCount);
 
@@ -826,6 +833,7 @@ CloseThisOp:
                         return_ACPI_STATUS (Status2);
                     }
                 }
+
                 AcpiPsPopScope (ParserState, &Op,
                     &WalkState->ArgTypes, &WalkState->ArgCount);
 
Index: sys/dev/acpi/acpica/Subsystem/psparse.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/psparse.c,v
retrieving revision 1.14
diff -u -u -p -r1.14 psparse.c
--- sys/dev/acpi/acpica/Subsystem/psparse.c	29 Jan 2006 03:05:47 -0000	1.14
+++ sys/dev/acpi/acpica/Subsystem/psparse.c	8 Mar 2006 04:07:42 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: psparse - Parser top level AML parse routines
- *              xRevision: 1.162 $
+ *              xRevision: 1.163 $
  *
  *****************************************************************************/
 
@@ -622,7 +622,7 @@ AcpiPsParseAml (
         {
             /* Either the method parse or actual execution failed */
 
-            ACPI_REPORT_MTERROR ("Method parse/execution failed",
+            ACPI_ERROR_METHOD ("Method parse/execution failed",
                 WalkState->MethodNode, NULL, Status);
 
             /* Check for possible multi-thread reentrancy problem */
@@ -670,8 +670,8 @@ AcpiPsParseAml (
                 }
                 else
                 {
-                    ACPI_REPORT_ERROR ((
-                        "Invalid zero thread count in method\n"));
+                    ACPI_ERROR ((AE_INFO,
+                        "Invalid zero thread count in method"));
                 }
             }
 
Index: sys/dev/acpi/acpica/Subsystem/pstree.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/pstree.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 pstree.c
--- sys/dev/acpi/acpica/Subsystem/pstree.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/pstree.c	8 Mar 2006 04:07:42 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: pstree - Parser op tree manipulation/traversal/search
- *              xRevision: 1.48 $
+ *              xRevision: 1.49 $
  *
  *****************************************************************************/
 
@@ -230,7 +230,7 @@ AcpiPsAppendArg (
     {
         /* Invalid opcode */
 
-        ACPI_REPORT_ERROR (("Invalid AML Opcode: 0x%2.2X\n",
+        ACPI_ERROR ((AE_INFO, "Invalid AML Opcode: 0x%2.2X",
             Op->Common.AmlOpcode));
         return;
     }
Index: sys/dev/acpi/acpica/Subsystem/rscalc.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/rscalc.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 rscalc.c
--- sys/dev/acpi/acpica/Subsystem/rscalc.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/rscalc.c	8 Mar 2006 04:07:42 -0000
@@ -1,7 +1,7 @@
 /*******************************************************************************
  *
  * Module Name: rscalc - Calculate stream and list lengths
- *              xRevision: 1.71 $
+ *              xRevision: 1.75 $
  *
  ******************************************************************************/
 
@@ -259,9 +259,11 @@ AcpiRsStreamOptionLength (
         StringLength = ResourceLength - MinimumAmlResourceLength - 1;
     }
 
-    /* Round up length to 32 bits for internal structure alignment */
-
-    return (ACPI_ROUND_UP_TO_32BITS (StringLength));
+    /*
+     * Round the length up to a multiple of the native word in order to
+     * guarantee that the entire resource descriptor is native word aligned
+     */
+    return ((UINT32) ACPI_ROUND_UP_TO_NATIVE_WORD (StringLength));
 }
 
 
@@ -440,7 +442,7 @@ AcpiRsGetListLength (
     ACPI_STATUS             Status;
     UINT8                   *EndAml;
     UINT8                   *Buffer;
-    UINT32                  BufferSize = 0;
+    UINT32                  BufferSize;
     UINT16                  Temp16;
     UINT16                  ResourceLength;
     UINT32                  ExtraStructBytes;
@@ -451,6 +453,7 @@ AcpiRsGetListLength (
     ACPI_FUNCTION_TRACE ("RsGetListLength");
 
 
+    *SizeNeeded = 0;
     EndAml = AmlBuffer + AmlBufferLength;
 
     /* Walk the list of AML resource descriptors */
@@ -499,38 +502,30 @@ AcpiRsGetListLength (
 
 
         case ACPI_RESOURCE_NAME_VENDOR_SMALL:
+        case ACPI_RESOURCE_NAME_VENDOR_LARGE:
             /*
              * Vendor Resource:
-             * Ensure a 32-bit boundary for the structure
+             * Get the number of vendor data bytes
              */
-            ExtraStructBytes =
-                ACPI_ROUND_UP_TO_32BITS (ResourceLength) - ResourceLength;
+            ExtraStructBytes = ResourceLength;
             break;
 
 
         case ACPI_RESOURCE_NAME_END_TAG:
             /*
-             * End Tag: This is the normal exit, add size of EndTag
+             * End Tag:
+             * This is the normal exit, add size of EndTag
              */
-            *SizeNeeded = BufferSize + ACPI_RS_SIZE_MIN;
+            *SizeNeeded += ACPI_RS_SIZE_MIN;
             return_ACPI_STATUS (AE_OK);
 
 
-        case ACPI_RESOURCE_NAME_VENDOR_LARGE:
-            /*
-             * Vendor Resource:
-             * Add vendor data and ensure a 32-bit boundary for the structure
-             */
-            ExtraStructBytes =
-                ACPI_ROUND_UP_TO_32BITS (ResourceLength) - ResourceLength;
-            break;
-
-
         case ACPI_RESOURCE_NAME_ADDRESS32:
         case ACPI_RESOURCE_NAME_ADDRESS16:
-           /*
-             * 32-Bit or 16-bit Address Resource:
-             * Add the size of any optional data (ResourceSource)
+        case ACPI_RESOURCE_NAME_ADDRESS64:
+            /*
+             * Address Resource:
+             * Add the size of the optional ResourceSource
              */
             ExtraStructBytes = AcpiRsStreamOptionLength (
                 ResourceLength, MinimumAmlResourceLength);
@@ -539,36 +534,17 @@ AcpiRsGetListLength (
 
         case ACPI_RESOURCE_NAME_EXTENDED_IRQ:
             /*
-             * Extended IRQ:
-             * Point past the InterruptVectorFlags to get the
-             * InterruptTableLength.
-             */
-            Buffer++;
-
-            ExtraStructBytes =
-                /*
-                 * Add 4 bytes for each additional interrupt. Note: at
-                 * least one interrupt is required and is included in
-                 * the minimum descriptor size
-                 */
-                ((*Buffer - 1) * sizeof (UINT32)) +
-
-                /* Add the size of any optional data (ResourceSource) */
+             * Extended IRQ Resource:
+             * Using the InterruptTableLength, add 4 bytes for each additional
+             * interrupt. Note: at least one interrupt is required and is
+             * included in the minimum descriptor size (reason for the -1)
+             */
+            ExtraStructBytes = (Buffer[1] - 1) * sizeof (UINT32);
+                
+            /* Add the size of the optional ResourceSource */
 
-                AcpiRsStreamOptionLength (ResourceLength - ExtraStructBytes,
-                    MinimumAmlResourceLength);
-            break;
-
-
-        case ACPI_RESOURCE_NAME_ADDRESS64:
-            /*
-             * 64-Bit Address Resource:
-             * Add the size of any optional data (ResourceSource)
-             * Ensure a 64-bit boundary for the structure
-             */
-            ExtraStructBytes =
-                ACPI_ROUND_UP_TO_64BITS (AcpiRsStreamOptionLength (
-                    ResourceLength, MinimumAmlResourceLength));
+            ExtraStructBytes += AcpiRsStreamOptionLength (
+                ResourceLength - ExtraStructBytes, MinimumAmlResourceLength);
             break;
 
 
@@ -576,17 +552,28 @@ AcpiRsGetListLength (
             break;
         }
 
-        /* Update the required buffer size for the internal descriptor structs */
-
-        Temp16 = (UINT16) (AcpiGbl_ResourceStructSizes[ResourceIndex] +
-                            ExtraStructBytes);
-        BufferSize += (UINT32) ACPI_ROUND_UP_TO_NATIVE_WORD (Temp16);
+        /*
+         * Update the required buffer size for the internal descriptor structs
+         *
+         * Important: Round the size up for the appropriate alignment. This
+         * is a requirement on IA64.
+         */
+        BufferSize = AcpiGbl_ResourceStructSizes[ResourceIndex] +
+                        ExtraStructBytes;
+        BufferSize = ACPI_ROUND_UP_TO_NATIVE_WORD (BufferSize);
+
+        *SizeNeeded += BufferSize;
+
+        ACPI_DEBUG_PRINT ((ACPI_DB_RESOURCES,
+            "Type %.2X, Aml %.2X internal %.2X\n", 
+            AcpiUtGetResourceType (AmlBuffer),
+            AcpiUtGetDescriptorLength (AmlBuffer), BufferSize));
 
         /*
-         * Point to the next resource within the stream
-         * using the size of the header plus the length contained in the header
+         * Point to the next resource within the AML stream using the length 
+         * contained in the resource descriptor header
          */
-        AmlBuffer  += AcpiUtGetDescriptorLength (AmlBuffer);
+        AmlBuffer += AcpiUtGetDescriptorLength (AmlBuffer);
     }
 
     /* Did not find an EndTag resource descriptor */
@@ -662,14 +649,16 @@ AcpiRsGetPciRoutingTableLength (
 
         for (TableIndex = 0; TableIndex < 4 && !NameFound; TableIndex++)
         {
-            if ((ACPI_TYPE_STRING ==
+            if (*SubObjectList && /* Null object allowed */
+
+                ((ACPI_TYPE_STRING ==
                     ACPI_GET_OBJECT_TYPE (*SubObjectList)) ||
 
                 ((ACPI_TYPE_LOCAL_REFERENCE ==
                     ACPI_GET_OBJECT_TYPE (*SubObjectList)) &&
 
                     ((*SubObjectList)->Reference.Opcode ==
-                        AML_INT_NAMEPATH_OP)))
+                        AML_INT_NAMEPATH_OP))))
             {
                 NameFound = TRUE;
             }
@@ -713,7 +702,7 @@ AcpiRsGetPciRoutingTableLength (
 
         /* Round up the size since each element must be aligned */
 
-        TempSizeNeeded = ACPI_ROUND_UP_TO_64BITS (TempSizeNeeded);
+        TempSizeNeeded = ACPI_ROUND_UP_TO_64BIT (TempSizeNeeded);
 
         /* Point to the next ACPI_OPERAND_OBJECT */
 
@@ -721,7 +710,7 @@ AcpiRsGetPciRoutingTableLength (
     }
 
     /*
-     * Adding an extra element to the end of the list, essentially a
+     * Add an extra element to the end of the list, essentially a
      * NULL terminator
      */
     *BufferSizeNeeded = TempSizeNeeded + sizeof (ACPI_PCI_ROUTING_TABLE);
Index: sys/dev/acpi/acpica/Subsystem/rscreate.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/rscreate.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 rscreate.c
--- sys/dev/acpi/acpica/Subsystem/rscreate.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/rscreate.c	8 Mar 2006 04:07:42 -0000
@@ -1,7 +1,7 @@
 /*******************************************************************************
  *
  * Module Name: rscreate - Create resource lists/tables
- *              xRevision: 1.73 $
+ *              xRevision: 1.75 $
  *
  ******************************************************************************/
 
@@ -303,8 +303,8 @@ AcpiRsCreatePciRoutingTable (
 
         if (ACPI_GET_OBJECT_TYPE (*TopObjectList) != ACPI_TYPE_PACKAGE)
         {
-            ACPI_REPORT_ERROR ((
-                "(PRT[%X]) Need sub-package, found %s\n",
+            ACPI_ERROR ((AE_INFO,
+                "(PRT[%X]) Need sub-package, found %s",
                 Index, AcpiUtGetObjectTypeName (*TopObjectList)));
             return_ACPI_STATUS (AE_AML_OPERAND_TYPE);
         }
@@ -313,8 +313,8 @@ AcpiRsCreatePciRoutingTable (
 
         if ((*TopObjectList)->Package.Count != 4)
         {
-            ACPI_REPORT_ERROR ((
-                "(PRT[%X]) Need package of length 4, found length %d\n",
+            ACPI_ERROR ((AE_INFO,
+                "(PRT[%X]) Need package of length 4, found length %d",
                 Index, (*TopObjectList)->Package.Count));
             return_ACPI_STATUS (AE_AML_PACKAGE_LIMIT);
         }
@@ -335,8 +335,8 @@ AcpiRsCreatePciRoutingTable (
         }
         else
         {
-            ACPI_REPORT_ERROR ((
-                "(PRT[%X].Address) Need Integer, found %s\n",
+            ACPI_ERROR ((AE_INFO,
+                "(PRT[%X].Address) Need Integer, found %s",
                 Index, AcpiUtGetObjectTypeName (ObjDesc)));
             return_ACPI_STATUS (AE_BAD_DATA);
         }
@@ -350,78 +350,83 @@ AcpiRsCreatePciRoutingTable (
         }
         else
         {
-            ACPI_REPORT_ERROR ((
-                "(PRT[%X].Pin) Need Integer, found %s\n",
+            ACPI_ERROR ((AE_INFO,
+                "(PRT[%X].Pin) Need Integer, found %s",
                 Index, AcpiUtGetObjectTypeName (ObjDesc)));
             return_ACPI_STATUS (AE_BAD_DATA);
         }
 
-        /* 3) Third subobject: Dereference the PRT.SourceName */
-
+        /*
+         * 3) Third subobject: Dereference the PRT.SourceName
+         * The name may be unresolved (slack mode), so allow a null object
+         */
         ObjDesc = SubObjectList[2];
-        switch (ACPI_GET_OBJECT_TYPE (ObjDesc))
+        if (ObjDesc)
         {
-        case ACPI_TYPE_LOCAL_REFERENCE:
-
-            if (ObjDesc->Reference.Opcode != AML_INT_NAMEPATH_OP)
+            switch (ACPI_GET_OBJECT_TYPE (ObjDesc))
             {
-                ACPI_REPORT_ERROR ((
-                    "(PRT[%X].Source) Need name, found reference op %X\n",
-                    Index, ObjDesc->Reference.Opcode));
-                return_ACPI_STATUS (AE_BAD_DATA);
-            }
+            case ACPI_TYPE_LOCAL_REFERENCE:
+
+                if (ObjDesc->Reference.Opcode != AML_INT_NAMEPATH_OP)
+                {
+                    ACPI_ERROR ((AE_INFO,
+                        "(PRT[%X].Source) Need name, found reference op %X",
+                        Index, ObjDesc->Reference.Opcode));
+                    return_ACPI_STATUS (AE_BAD_DATA);
+                }
 
-            Node = ObjDesc->Reference.Node;
+                Node = ObjDesc->Reference.Node;
 
-            /* Use *remaining* length of the buffer as max for pathname */
+                /* Use *remaining* length of the buffer as max for pathname */
 
-            PathBuffer.Length = OutputBuffer->Length -
-                                (UINT32) ((UINT8 *) UserPrt->Source -
-                                (UINT8 *) OutputBuffer->Pointer);
-            PathBuffer.Pointer = UserPrt->Source;
+                PathBuffer.Length = OutputBuffer->Length -
+                                    (UINT32) ((UINT8 *) UserPrt->Source -
+                                    (UINT8 *) OutputBuffer->Pointer);
+                PathBuffer.Pointer = UserPrt->Source;
 
-            Status = AcpiNsHandleToPathname ((ACPI_HANDLE) Node, &PathBuffer);
+                Status = AcpiNsHandleToPathname ((ACPI_HANDLE) Node, &PathBuffer);
 
-            /* +1 to include null terminator */
+                /* +1 to include null terminator */
 
-            UserPrt->Length += (UINT32) ACPI_STRLEN (UserPrt->Source) + 1;
-            break;
+                UserPrt->Length += (UINT32) ACPI_STRLEN (UserPrt->Source) + 1;
+                break;
 
 
-        case ACPI_TYPE_STRING:
+            case ACPI_TYPE_STRING:
 
-            ACPI_STRCPY (UserPrt->Source, ObjDesc->String.Pointer);
+                ACPI_STRCPY (UserPrt->Source, ObjDesc->String.Pointer);
 
-            /*
-             * Add to the Length field the length of the string
-             * (add 1 for terminator)
-             */
-            UserPrt->Length += ObjDesc->String.Length + 1;
-            break;
+                /*
+                 * Add to the Length field the length of the string
+                 * (add 1 for terminator)
+                 */
+                UserPrt->Length += ObjDesc->String.Length + 1;
+                break;
 
 
-        case ACPI_TYPE_INTEGER:
-            /*
-             * If this is a number, then the Source Name is NULL, since the
-             * entire buffer was zeroed out, we can leave this alone.
-             *
-             * Add to the Length field the length of the UINT32 NULL
-             */
-            UserPrt->Length += sizeof (UINT32);
-            break;
+            case ACPI_TYPE_INTEGER:
+                /*
+                 * If this is a number, then the Source Name is NULL, since the
+                 * entire buffer was zeroed out, we can leave this alone.
+                 *
+                 * Add to the Length field the length of the UINT32 NULL
+                 */
+                UserPrt->Length += sizeof (UINT32);
+                break;
 
 
-        default:
+            default:
 
-           ACPI_REPORT_ERROR ((
-               "(PRT[%X].Source) Need Ref/String/Integer, found %s\n",
-               Index, AcpiUtGetObjectTypeName (ObjDesc)));
-           return_ACPI_STATUS (AE_BAD_DATA);
+               ACPI_ERROR ((AE_INFO,
+                   "(PRT[%X].Source) Need Ref/String/Integer, found %s",
+                   Index, AcpiUtGetObjectTypeName (ObjDesc)));
+               return_ACPI_STATUS (AE_BAD_DATA);
+            }
         }
 
         /* Now align the current length */
 
-        UserPrt->Length = (UINT32) ACPI_ROUND_UP_TO_64BITS (UserPrt->Length);
+        UserPrt->Length = (UINT32) ACPI_ROUND_UP_TO_64BIT (UserPrt->Length);
 
         /* 4) Fourth subobject: Dereference the PRT.SourceIndex */
 
@@ -432,8 +437,8 @@ AcpiRsCreatePciRoutingTable (
         }
         else
         {
-            ACPI_REPORT_ERROR ((
-                "(PRT[%X].SourceIndex) Need Integer, found %s\n",
+            ACPI_ERROR ((AE_INFO,
+                "(PRT[%X].SourceIndex) Need Integer, found %s",
                 Index, AcpiUtGetObjectTypeName (ObjDesc)));
             return_ACPI_STATUS (AE_BAD_DATA);
         }
Index: sys/dev/acpi/acpica/Subsystem/rsdump.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/rsdump.c,v
retrieving revision 1.15
diff -u -u -p -r1.15 rsdump.c
--- sys/dev/acpi/acpica/Subsystem/rsdump.c	29 Jan 2006 03:05:47 -0000	1.15
+++ sys/dev/acpi/acpica/Subsystem/rsdump.c	8 Mar 2006 04:07:43 -0000
@@ -1,7 +1,7 @@
 /*******************************************************************************
  *
  * Module Name: rsdump - Functions to display the resource structures.
- *              xRevision: 1.59 $
+ *              xRevision: 1.60 $
  *
  ******************************************************************************/
 
@@ -762,7 +762,12 @@ AcpiRsOutString (
     const char              *Title,
     const char              *Value)
 {
-    AcpiOsPrintf ("%27s : %s\n", Title, Value);
+    AcpiOsPrintf ("%27s : %s", Title, Value);
+    if (!*Value)
+    {
+        AcpiOsPrintf ("[NULL NAMESTRING]");
+    }
+    AcpiOsPrintf ("\n");
 }
 
 static void
Index: sys/dev/acpi/acpica/Subsystem/rslist.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/rslist.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 rslist.c
--- sys/dev/acpi/acpica/Subsystem/rslist.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/rslist.c	8 Mar 2006 04:07:43 -0000
@@ -1,7 +1,7 @@
 /*******************************************************************************
  *
  * Module Name: rslist - Linked list utilities
- *              xRevision: 1.52 $
+ *              xRevision: 1.54 $
  *
  ******************************************************************************/
 
@@ -163,6 +163,16 @@ AcpiRsConvertAmlToResources (
 
     while (Aml < EndAml)
     {
+        /*
+         * Check that the input buffer and all subsequent pointers into it
+         * are aligned on a native word boundary. Most important on IA64
+         */
+        if (ACPI_IS_MISALIGNED (Resource))
+        {
+            ACPI_WARNING ((AE_INFO,
+                "Misaligned resource pointer %p", Resource));
+        }
+
         /* Validate the Resource Type and Resource Length */
 
         Status = AcpiUtValidateResource (Aml, &ResourceIndex);
@@ -178,12 +188,16 @@ AcpiRsConvertAmlToResources (
                     AcpiGbl_GetResourceDispatch[ResourceIndex]);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR ((
-                "Could not convert AML resource (Type %X) to resource, %s\n",
-                *Aml, AcpiFormatException (Status)));
+            ACPI_EXCEPTION ((AE_INFO, Status,
+                "Could not convert AML resource (Type %X)", *Aml));
             return_ACPI_STATUS (Status);
         }
 
+        ACPI_DEBUG_PRINT ((ACPI_DB_RESOURCES,
+            "Type %.2X, Aml %.2X internal %.2X\n", 
+            AcpiUtGetResourceType (Aml), AcpiUtGetDescriptorLength (Aml),
+            Resource->Length));
+
         /* Normal exit on completion of an EndTag resource descriptor */
 
         if (AcpiUtGetResourceType (Aml) == ACPI_RESOURCE_NAME_END_TAG)
@@ -247,8 +261,8 @@ AcpiRsConvertResourcesToAml (
 
         if (Resource->Type > ACPI_RESOURCE_TYPE_MAX)
         {
-            ACPI_REPORT_ERROR ((
-                "Invalid descriptor type (%X) in resource list\n",
+            ACPI_ERROR ((AE_INFO,
+                "Invalid descriptor type (%X) in resource list",
                 Resource->Type));
             return_ACPI_STATUS (AE_BAD_DATA);
         }
@@ -260,8 +274,9 @@ AcpiRsConvertResourcesToAml (
                     AcpiGbl_SetResourceDispatch[Resource->Type]);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR (("Could not convert resource (type %X) to AML, %s\n",
-                Resource->Type, AcpiFormatException (Status)));
+            ACPI_EXCEPTION ((AE_INFO, Status,
+                "Could not convert resource (type %X) to AML",
+                Resource->Type));
             return_ACPI_STATUS (Status);
         }
 
Index: sys/dev/acpi/acpica/Subsystem/rsmisc.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/rsmisc.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 rsmisc.c
--- sys/dev/acpi/acpica/Subsystem/rsmisc.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/rsmisc.c	8 Mar 2006 04:07:43 -0000
@@ -1,7 +1,7 @@
 /*******************************************************************************
  *
  * Module Name: rsmisc - Miscellaneous resource descriptors
- *              xRevision: 1.39 $
+ *              xRevision: 1.44 $
  *
  ******************************************************************************/
 
@@ -166,13 +166,16 @@ AcpiRsConvertAmlToResource (
     UINT16                  Temp16 = 0;
 
 
-    ACPI_FUNCTION_TRACE ("RsGetResource");
+    ACPI_FUNCTION_TRACE ("RsConvertAmlToResource");
 
 
     if (((ACPI_NATIVE_UINT) Resource) & 0x3)
     {
-        AcpiOsPrintf ("**** GET: Misaligned resource pointer: %p Type %2.2X Len %X\n",
-            Resource, Resource->Type, Resource->Length);
+        /* Each internal resource struct is expected to be 32-bit aligned */
+
+        ACPI_WARNING ((AE_INFO,
+            "Misaligned resource pointer (get): %p Type %2.2X Len %X",
+            Resource, Resource->Type, Resource->Length));
     }
 
     /* Extract the resource Length field (does not include header length) */
@@ -377,7 +380,8 @@ AcpiRsConvertAmlToResource (
                 break;
 
             default:
-                AcpiOsPrintf ("*** Invalid conversion sub-opcode\n");
+
+                ACPI_ERROR ((AE_INFO, "Invalid conversion sub-opcode"));
                 return_ACPI_STATUS (AE_BAD_PARAMETER);
             }
             break;
@@ -385,7 +389,7 @@ AcpiRsConvertAmlToResource (
 
         default:
 
-            AcpiOsPrintf ("*** Invalid conversion opcode\n");
+            ACPI_ERROR ((AE_INFO, "Invalid conversion opcode"));
             return_ACPI_STATUS (AE_BAD_PARAMETER);
         }
 
@@ -396,9 +400,9 @@ AcpiRsConvertAmlToResource (
 Exit:
     if (!FlagsMode)
     {
-        /* Round the resource struct length up to the next 32-bit boundary */
+        /* Round the resource struct length up to the next boundary (32 or 64) */
 
-        Resource->Length = ACPI_ROUND_UP_TO_32BITS (Resource->Length);
+        Resource->Length = (UINT32) ACPI_ROUND_UP_TO_NATIVE_WORD (Resource->Length);
     }
     return_ACPI_STATUS (AE_OK);
 }
@@ -436,14 +440,6 @@ AcpiRsConvertResourceToAml (
     ACPI_FUNCTION_TRACE ("RsConvertResourceToAml");
 
 
-    /* Validate the Resource pointer, must be 32-bit aligned */
-
-    if (((ACPI_NATIVE_UINT) Resource) & 0x3)
-    {
-        AcpiOsPrintf ("**** SET: Misaligned resource pointer: %p Type %2.2X Len %X\n",
-            Resource, Resource->Type, Resource->Length);
-    }
-
     /*
      * First table entry must be ACPI_RSC_INITxxx and must contain the
      * table length (# of table entries)
@@ -610,7 +606,8 @@ AcpiRsConvertResourceToAml (
                 break;
 
             default:
-                AcpiOsPrintf ("*** Invalid conversion sub-opcode\n");
+
+                ACPI_ERROR ((AE_INFO, "Invalid conversion sub-opcode"));
                 return_ACPI_STATUS (AE_BAD_PARAMETER);
             }
             break;
@@ -618,7 +615,7 @@ AcpiRsConvertResourceToAml (
 
         default:
 
-            AcpiOsPrintf ("*** Invalid conversion opcode\n");
+            ACPI_ERROR ((AE_INFO, "Invalid conversion opcode"));
             return_ACPI_STATUS (AE_BAD_PARAMETER);
         }
 
@@ -652,8 +649,8 @@ Exit:
          * polarity/trigger interrupts are allowed (ACPI spec, section
          * "IRQ Format"), so 0x00 and 0x09 are illegal.
          */
-        ACPI_REPORT_ERROR ((
-            "Invalid interrupt polarity/trigger in resource list, %X\n",
+        ACPI_ERROR ((AE_INFO,
+            "Invalid interrupt polarity/trigger in resource list, %X",
             Aml->Irq.Flags));
         return_ACPI_STATUS (AE_BAD_DATA);
     }
@@ -668,8 +665,8 @@ Exit:
 
     if (Resource->Data.Dma.Transfer == 0x03)
     {
-        ACPI_REPORT_ERROR ((
-            "Invalid DMA.Transfer preference (3)\n"));
+        ACPI_ERROR ((AE_INFO,
+            "Invalid DMA.Transfer preference (3)"));
         return_ACPI_STATUS (AE_BAD_DATA);
     }
 #endif
Index: sys/dev/acpi/acpica/Subsystem/rsutils.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/rsutils.c,v
retrieving revision 1.14
diff -u -u -p -r1.14 rsutils.c
--- sys/dev/acpi/acpica/Subsystem/rsutils.c	29 Jan 2006 03:05:47 -0000	1.14
+++ sys/dev/acpi/acpica/Subsystem/rsutils.c	8 Mar 2006 04:07:44 -0000
@@ -1,7 +1,7 @@
 /*******************************************************************************
  *
  * Module Name: rsutils - Utilities for the resource manager
- *              xRevision: 1.55 $
+ *              xRevision: 1.59 $
  *
  ******************************************************************************/
 
@@ -420,7 +420,8 @@ AcpiRsStrcpy (
  *              StringPtr           - (optional) where to store the actual
  *                                    ResourceSource string
  *
- * RETURN:      Length of the string plus NULL terminator, rounded up to 32 bit
+ * RETURN:      Length of the string plus NULL terminator, rounded up to native
+ *              word boundary
  *
  * DESCRIPTION: Copy the optional ResourceSource data from a raw AML descriptor
  *              to an internal resource descriptor
@@ -452,7 +453,7 @@ AcpiRsGetResourceSource (
      * Note: Some resource descriptors will have an additional null, so
      * we add 1 to the minimum length.
      */
-    if (TotalLength > (ACPI_RSDESC_SIZE )(MinimumLength + 1))
+    if (TotalLength > (ACPI_RSDESC_SIZE) (MinimumLength + 1))
     {
         /* Get the ResourceSourceIndex */
 
@@ -470,20 +471,21 @@ AcpiRsGetResourceSource (
         }
 
         /*
-         * In order for the StructSize to fall on a 32-bit boundary, calculate
-         * the length of the string (+1 for the NULL terminator) and expand the
-         * StructSize to the next 32-bit boundary.
+         * In order for the Resource length to be a multiple of the native
+         * word, calculate the length of the string (+1 for NULL terminator)
+         * and expand to the next word multiple.
          *
          * Zero the entire area of the buffer.
          */
-        TotalLength = ACPI_ROUND_UP_TO_32BITS (
-                        ACPI_STRLEN ((char *) &AmlResourceSource[1]) + 1);
+        TotalLength = ACPI_STRLEN (ACPI_CAST_PTR (char, &AmlResourceSource[1])) + 1;
+        TotalLength = (UINT32) ACPI_ROUND_UP_TO_NATIVE_WORD (TotalLength);
+            
         ACPI_MEMSET (ResourceSource->StringPtr, 0, TotalLength);
 
         /* Copy the ResourceSource string to the destination */
 
         ResourceSource->StringLength = AcpiRsStrcpy (ResourceSource->StringPtr,
-                                        (char *) &AmlResourceSource[1]);
+            ACPI_CAST_PTR (char, &AmlResourceSource[1]));
 
         return ((ACPI_RS_LENGTH) TotalLength);
     }
@@ -543,8 +545,8 @@ AcpiRsSetResourceSource (
 
         /* Copy the ResourceSource string */
 
-        ACPI_STRCPY ((char *) &AmlResourceSource[1],
-                ResourceSource->StringPtr);
+        ACPI_STRCPY (ACPI_CAST_PTR (char, &AmlResourceSource[1]),
+            ResourceSource->StringPtr);
 
         /*
          * Add the length of the string (+ 1 for null terminator) to the
@@ -563,9 +565,9 @@ AcpiRsSetResourceSource (
  *
  * FUNCTION:    AcpiRsGetPrtMethodData
  *
- * PARAMETERS:  Handle          - a handle to the containing object
- *              RetBuffer       - a pointer to a buffer structure for the
- *                                  results
+ * PARAMETERS:  Handle          - Handle to the containing object
+ *              RetBuffer       - Pointer to a buffer structure for the
+ *                                results
  *
  * RETURN:      Status
  *
@@ -617,9 +619,9 @@ AcpiRsGetPrtMethodData (
  *
  * FUNCTION:    AcpiRsGetCrsMethodData
  *
- * PARAMETERS:  Handle          - a handle to the containing object
- *              RetBuffer       - a pointer to a buffer structure for the
- *                                  results
+ * PARAMETERS:  Handle          - Handle to the containing object
+ *              RetBuffer       - Pointer to a buffer structure for the
+ *                                results
  *
  * RETURN:      Status
  *
@@ -672,9 +674,9 @@ AcpiRsGetCrsMethodData (
  *
  * FUNCTION:    AcpiRsGetPrsMethodData
  *
- * PARAMETERS:  Handle          - a handle to the containing object
- *              RetBuffer       - a pointer to a buffer structure for the
- *                                  results
+ * PARAMETERS:  Handle          - Handle to the containing object
+ *              RetBuffer       - Pointer to a buffer structure for the
+ *                                results
  *
  * RETURN:      Status
  *
@@ -727,10 +729,10 @@ AcpiRsGetPrsMethodData (
  *
  * FUNCTION:    AcpiRsGetMethodData
  *
- * PARAMETERS:  Handle          - a handle to the containing object
+ * PARAMETERS:  Handle          - Handle to the containing object
  *              Path            - Path to method, relative to Handle
- *              RetBuffer       - a pointer to a buffer structure for the
- *                                  results
+ *              RetBuffer       - Pointer to a buffer structure for the
+ *                                results
  *
  * RETURN:      Status
  *
@@ -782,9 +784,9 @@ AcpiRsGetMethodData (
  *
  * FUNCTION:    AcpiRsSetSrsMethodData
  *
- * PARAMETERS:  Handle          - a handle to the containing object
- *              InBuffer        - a pointer to a buffer structure of the
- *                                  parameter
+ * PARAMETERS:  Handle          - Handle to the containing object
+ *              InBuffer        - Pointer to a buffer structure of the
+ *                                parameter
  *
  * RETURN:      Status
  *
Index: sys/dev/acpi/acpica/Subsystem/tbconvrt.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/tbconvrt.c,v
retrieving revision 1.14
diff -u -u -p -r1.14 tbconvrt.c
--- sys/dev/acpi/acpica/Subsystem/tbconvrt.c	29 Jan 2006 03:05:47 -0000	1.14
+++ sys/dev/acpi/acpica/Subsystem/tbconvrt.c	8 Mar 2006 04:07:44 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: tbconvrt - ACPI Table conversion utilities
- *              xRevision: 1.66 $
+ *              xRevision: 1.67 $
  *
  *****************************************************************************/
 
@@ -577,7 +577,7 @@ AcpiTbConvertTableFadt (
      */
     if (AcpiGbl_FADT->Length < sizeof (FADT_DESCRIPTOR_REV1))
     {
-        ACPI_REPORT_ERROR (("FADT is invalid, too short: 0x%X\n",
+        ACPI_ERROR ((AE_INFO, "FADT is invalid, too short: 0x%X",
             AcpiGbl_FADT->Length));
         return_ACPI_STATUS (AE_INVALID_TABLE_LENGTH);
     }
@@ -596,8 +596,8 @@ AcpiTbConvertTableFadt (
         {
             /* Length is too short to be a V2.0 table */
 
-            ACPI_REPORT_WARNING ((
-                "Inconsistent FADT length (0x%X) and revision (0x%X), using FADT V1.0 portion of table\n",
+            ACPI_WARNING ((AE_INFO,
+                "Inconsistent FADT length (0x%X) and revision (0x%X), using FADT V1.0 portion of table",
                 AcpiGbl_FADT->Length, AcpiGbl_FADT->Revision));
 
             AcpiTbConvertFadt1 (LocalFadt, (void *) AcpiGbl_FADT);
@@ -670,15 +670,15 @@ AcpiTbBuildCommonFacs (
 
     if (AcpiGbl_FACS->Length < 24)
     {
-        ACPI_REPORT_ERROR (("Invalid FACS table length: 0x%X\n",
+        ACPI_ERROR ((AE_INFO, "Invalid FACS table length: 0x%X",
             AcpiGbl_FACS->Length));
         return_ACPI_STATUS (AE_INVALID_TABLE_LENGTH);
     }
 
     if (AcpiGbl_FACS->Length < 64)
     {
-        ACPI_REPORT_WARNING ((
-            "FACS is shorter than the ACPI specification allows: 0x%X, using anyway\n",
+        ACPI_WARNING ((AE_INFO,
+            "FACS is shorter than the ACPI specification allows: 0x%X, using anyway",
             AcpiGbl_FACS->Length));
     }
 
Index: sys/dev/acpi/acpica/Subsystem/tbget.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/tbget.c,v
retrieving revision 1.14
diff -u -u -p -r1.14 tbget.c
--- sys/dev/acpi/acpica/Subsystem/tbget.c	29 Jan 2006 03:05:47 -0000	1.14
+++ sys/dev/acpi/acpica/Subsystem/tbget.c	8 Mar 2006 04:07:44 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: tbget - ACPI Table get* routines
- *              xRevision: 1.96 $
+ *              xRevision: 1.98 $
  *
  *****************************************************************************/
 
@@ -179,8 +179,8 @@ AcpiTbGetTable (
     Status = AcpiTbGetTableBody (Address, &Header, TableInfo);
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("Could not get ACPI table (size %X), %s\n",
-            Header.Length, AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status,
+            "Could not get ACPI table (size %X)", Header.Length));
         return_ACPI_STATUS (Status);
     }
 
@@ -241,10 +241,9 @@ AcpiTbGetTableHeader (
                     sizeof (ACPI_TABLE_HEADER), (void *) &Header);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR ((
-                "Could not map memory at %8.8X%8.8X for length %X\n",
-                ACPI_FORMAT_UINT64 (Address->Pointer.Physical),
-                sizeof (ACPI_TABLE_HEADER)));
+            ACPI_ERROR ((AE_INFO,
+                "Could not map memory at %8.8X%8.8X for table header",
+                ACPI_FORMAT_UINT64 (Address->Pointer.Physical)));
             return_ACPI_STATUS (Status);
         }
 
@@ -257,7 +256,7 @@ AcpiTbGetTableHeader (
 
     default:
 
-        ACPI_REPORT_ERROR (("Invalid address flags %X\n",
+        ACPI_ERROR ((AE_INFO, "Invalid address flags %X",
             Address->PointerType));
         return_ACPI_STATUS (AE_BAD_PARAMETER);
     }
@@ -360,8 +359,7 @@ AcpiTbTableOverride (
     {
         /* Some severe error from the OSL, but we basically ignore it */
 
-        ACPI_REPORT_ERROR (("Could not override ACPI table, %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status, "Could not override ACPI table"));
         return_ACPI_STATUS (Status);
     }
 
@@ -382,14 +380,13 @@ AcpiTbTableOverride (
     Status = AcpiTbGetThisTable (&Address, NewTable, TableInfo);
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("Could not copy override ACPI table, %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status, "Could not copy ACPI table"));
         return_ACPI_STATUS (Status);
     }
 
     /* Copy the table info */
 
-    ACPI_REPORT_INFO (("Table [%4.4s] replaced by host OS\n",
+    ACPI_INFO ((AE_INFO, "Table [%4.4s] replaced by host OS",
         TableInfo->Pointer->Signature));
 
     return_ACPI_STATUS (AE_OK);
@@ -442,8 +439,8 @@ AcpiTbGetThisTable (
         FullTable = ACPI_MEM_ALLOCATE (Header->Length);
         if (!FullTable)
         {
-            ACPI_REPORT_ERROR ((
-                "Could not allocate table memory for [%4.4s] length %X\n",
+            ACPI_ERROR ((AE_INFO,
+                "Could not allocate table memory for [%4.4s] length %X",
                 Header->Signature, Header->Length));
             return_ACPI_STATUS (AE_NO_MEMORY);
         }
@@ -468,8 +465,8 @@ AcpiTbGetThisTable (
                     (ACPI_SIZE) Header->Length, (void *) &FullTable);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR ((
-                "Could not map memory for table [%4.4s] at %8.8X%8.8X for length %X\n",
+            ACPI_ERROR ((AE_INFO,
+                "Could not map memory for table [%4.4s] at %8.8X%8.8X for length %X",
                 Header->Signature,
                 ACPI_FORMAT_UINT64 (Address->Pointer.Physical),
                 Header->Length));
@@ -484,7 +481,7 @@ AcpiTbGetThisTable (
 
     default:
 
-        ACPI_REPORT_ERROR (("Invalid address flags %X\n",
+        ACPI_ERROR ((AE_INFO, "Invalid address flags %X",
             Address->PointerType));
         return_ACPI_STATUS (AE_BAD_PARAMETER);
     }
Index: sys/dev/acpi/acpica/Subsystem/tbgetall.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/tbgetall.c,v
retrieving revision 1.9
diff -u -u -p -r1.9 tbgetall.c
--- sys/dev/acpi/acpica/Subsystem/tbgetall.c	29 Jan 2006 03:05:47 -0000	1.9
+++ sys/dev/acpi/acpica/Subsystem/tbgetall.c	8 Mar 2006 04:07:44 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: tbgetall - Get all required ACPI tables
- *              xRevision: 1.15 $
+ *              xRevision: 1.16 $
  *
  *****************************************************************************/
 
@@ -248,8 +248,8 @@ AcpiTbGetSecondaryTable (
 
     if (ACPI_STRNCMP (Header.Signature, Signature, ACPI_NAME_SIZE))
     {
-        ACPI_REPORT_ERROR ((
-            "Incorrect table signature - wanted [%s] found [%4.4s]\n",
+        ACPI_ERROR ((AE_INFO,
+            "Incorrect table signature - wanted [%s] found [%4.4s]",
             Signature, Header.Signature));
         return_ACPI_STATUS (AE_BAD_SIGNATURE);
     }
@@ -339,7 +339,7 @@ AcpiTbGetRequiredTables (
         Status = AcpiTbGetPrimaryTable (&Address, &TableInfo);
         if ((Status != AE_OK) && (Status != AE_TABLE_NOT_SUPPORTED))
         {
-            ACPI_REPORT_WARNING (("%s, while getting table at %8.8X%8.8X\n",
+            ACPI_WARNING ((AE_INFO, "%s, while getting table at %8.8X%8.8X",
                 AcpiFormatException (Status),
                 ACPI_FORMAT_UINT64 (Address.Pointer.Value)));
         }
@@ -349,7 +349,7 @@ AcpiTbGetRequiredTables (
 
     if (!AcpiGbl_FADT)
     {
-        ACPI_REPORT_ERROR (("No FADT present in RSDT/XSDT\n"));
+        ACPI_ERROR ((AE_INFO, "No FADT present in RSDT/XSDT"));
         return_ACPI_STATUS (AE_NO_ACPI_TABLES);
     }
 
@@ -360,8 +360,8 @@ AcpiTbGetRequiredTables (
     Status = AcpiTbConvertTableFadt ();
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR ((
-            "Could not convert FADT to internal common format\n"));
+        ACPI_ERROR ((AE_INFO,
+            "Could not convert FADT to internal common format"));
         return_ACPI_STATUS (Status);
     }
 
@@ -372,8 +372,8 @@ AcpiTbGetRequiredTables (
     Status = AcpiTbGetSecondaryTable (&Address, FACS_SIG, &TableInfo);
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("Could not get/install the FACS, %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status,
+            "Could not get/install the FACS"));
         return_ACPI_STATUS (Status);
     }
 
@@ -394,7 +394,7 @@ AcpiTbGetRequiredTables (
     Status = AcpiTbGetSecondaryTable (&Address, DSDT_SIG, &TableInfo);
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("Could not get/install the DSDT\n"));
+        ACPI_ERROR ((AE_INFO, "Could not get/install the DSDT"));
         return_ACPI_STATUS (Status);
     }
 
Index: sys/dev/acpi/acpica/Subsystem/tbinstal.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/tbinstal.c,v
retrieving revision 1.14
diff -u -u -p -r1.14 tbinstal.c
--- sys/dev/acpi/acpica/Subsystem/tbinstal.c	29 Jan 2006 03:05:47 -0000	1.14
+++ sys/dev/acpi/acpica/Subsystem/tbinstal.c	8 Mar 2006 04:07:44 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: tbinstal - ACPI table installation and removal
- *              xRevision: 1.81 $
+ *              xRevision: 1.82 $
  *
  *****************************************************************************/
 
@@ -225,8 +225,7 @@ AcpiTbInstallTable (
     Status = AcpiUtAcquireMutex (ACPI_MTX_TABLES);
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("Could not acquire table mutex, %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status, "Could not acquire table mutex"));
         return_ACPI_STATUS (Status);
     }
 
@@ -245,8 +244,8 @@ AcpiTbInstallTable (
     Status = AcpiTbInitTableDescriptor (TableInfo->Type, TableInfo);
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("Could not install table [%4.4s], %s\n",
-            TableInfo->Pointer->Signature, AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status, "Could not install table [%4.4s]",
+            TableInfo->Pointer->Signature));
     }
 
     ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "%s located at %p\n",
Index: sys/dev/acpi/acpica/Subsystem/tbrsdt.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/tbrsdt.c,v
retrieving revision 1.9
diff -u -u -p -r1.9 tbrsdt.c
--- sys/dev/acpi/acpica/Subsystem/tbrsdt.c	29 Jan 2006 03:05:47 -0000	1.9
+++ sys/dev/acpi/acpica/Subsystem/tbrsdt.c	8 Mar 2006 04:07:44 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: tbrsdt - ACPI RSDT table utilities
- *              xRevision: 1.22 $
+ *              xRevision: 1.23 $
  *
  *****************************************************************************/
 
@@ -296,23 +296,23 @@ AcpiTbValidateRsdt (
     {
         /* Invalid RSDT or XSDT signature */
 
-        ACPI_REPORT_ERROR ((
-            "Invalid signature where RSDP indicates RSDT/XSDT should be located. RSDP:\n"));
+        ACPI_ERROR ((AE_INFO,
+            "Invalid signature where RSDP indicates RSDT/XSDT should be located. RSDP:"));
 
         ACPI_DUMP_BUFFER (AcpiGbl_RSDP, 20);
 
-        ACPI_REPORT_ERROR ((
-            "RSDT/XSDT signature at %X (%p) is invalid\n",
+        ACPI_ERROR ((AE_INFO,
+            "RSDT/XSDT signature at %X (%p) is invalid",
             AcpiGbl_RSDP->RsdtPhysicalAddress,
             (void *) (ACPI_NATIVE_UINT) AcpiGbl_RSDP->RsdtPhysicalAddress));
 
         if (AcpiGbl_RootTableType == ACPI_TABLE_TYPE_RSDT)
         {
-            ACPI_REPORT_ERROR (("Looking for RSDT\n"))
+            ACPI_ERROR ((AE_INFO, "Looking for RSDT"));
         }
         else
         {
-            ACPI_REPORT_ERROR (("Looking for XSDT\n"))
+            ACPI_ERROR ((AE_INFO, "Looking for XSDT"));
         }
 
         ACPI_DUMP_BUFFER ((char *) TablePtr, 48);
@@ -355,9 +355,7 @@ AcpiTbGetTableRsdt (
     Status = AcpiTbGetTable (&Address, &TableInfo);
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("Could not get the RSDT/XSDT, %s\n",
-            AcpiFormatException (Status)));
-
+        ACPI_EXCEPTION ((AE_INFO, Status, "Could not get the RSDT/XSDT"));
         return_ACPI_STATUS (Status);
     }
 
Index: sys/dev/acpi/acpica/Subsystem/tbutils.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/tbutils.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 tbutils.c
--- sys/dev/acpi/acpica/Subsystem/tbutils.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/tbutils.c	8 Mar 2006 04:07:45 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: tbutils - Table manipulation utilities
- *              xRevision: 1.74 $
+ *              xRevision: 1.75 $
  *
  *****************************************************************************/
 
@@ -239,8 +239,8 @@ AcpiTbValidateTableHeader (
 
     if (!AcpiOsReadable (TableHeader, sizeof (ACPI_TABLE_HEADER)))
     {
-        ACPI_REPORT_ERROR ((
-            "Cannot read table header at %p\n", TableHeader));
+        ACPI_ERROR ((AE_INFO,
+            "Cannot read table header at %p", TableHeader));
 
         return (AE_BAD_ADDRESS);
     }
@@ -250,11 +250,11 @@ AcpiTbValidateTableHeader (
     ACPI_MOVE_32_TO_32 (&Signature, TableHeader->Signature);
     if (!AcpiUtValidAcpiName (Signature))
     {
-        ACPI_REPORT_ERROR ((
-            "Table signature at %p [%p] has invalid characters\n",
+        ACPI_ERROR ((AE_INFO,
+            "Table signature at %p [%p] has invalid characters",
             TableHeader, &Signature));
 
-        ACPI_REPORT_WARNING (("Invalid table signature found: [%4.4s]\n",
+        ACPI_WARNING ((AE_INFO, "Invalid table signature found: [%4.4s]",
             ACPI_CAST_PTR (char, &Signature)));
 
         ACPI_DUMP_BUFFER (TableHeader, sizeof (ACPI_TABLE_HEADER));
@@ -265,11 +265,11 @@ AcpiTbValidateTableHeader (
 
     if (TableHeader->Length < sizeof (ACPI_TABLE_HEADER))
     {
-        ACPI_REPORT_ERROR ((
-            "Invalid length in table header %p name %4.4s\n",
+        ACPI_ERROR ((AE_INFO,
+            "Invalid length in table header %p name %4.4s",
             TableHeader, (char *) &Signature));
 
-        ACPI_REPORT_WARNING (("Invalid table header length (0x%X) found\n",
+        ACPI_WARNING ((AE_INFO, "Invalid table header length (0x%X) found",
             (UINT32) TableHeader->Length));
 
         ACPI_DUMP_BUFFER (TableHeader, sizeof (ACPI_TABLE_HEADER));
@@ -312,8 +312,8 @@ AcpiTbVerifyTableChecksum (
 
     if (Checksum)
     {
-        ACPI_REPORT_WARNING ((
-            "Invalid checksum in table [%4.4s] (%02X, sum %02X is not zero)\n",
+        ACPI_WARNING ((AE_INFO,
+            "Invalid checksum in table [%4.4s] (%02X, sum %02X is not zero)",
             TableHeader->Signature, (UINT32) TableHeader->Checksum,
             (UINT32) Checksum));
 
@@ -402,7 +402,7 @@ AcpiTbHandleToObject (
         }
     }
 
-    ACPI_REPORT_ERROR (("TableId=%X does not exist\n", TableId));
+    ACPI_ERROR ((AE_INFO, "TableId=%X does not exist", TableId));
     return (AE_BAD_PARAMETER);
 }
 #endif
Index: sys/dev/acpi/acpica/Subsystem/tbxface.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/tbxface.c,v
retrieving revision 1.13
diff -u -u -p -r1.13 tbxface.c
--- sys/dev/acpi/acpica/Subsystem/tbxface.c	29 Jan 2006 03:05:47 -0000	1.13
+++ sys/dev/acpi/acpica/Subsystem/tbxface.c	8 Mar 2006 04:07:45 -0000
@@ -2,7 +2,7 @@
  *
  * Module Name: tbxface - Public interfaces to the ACPI subsystem
  *                         ACPI table oriented interfaces
- *              xRevision: 1.72 $
+ *              xRevision: 1.73 $
  *
  *****************************************************************************/
 
@@ -159,8 +159,7 @@ AcpiLoadTables (
                     &RsdpAddress);
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("Could not get RSDP, %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status, "Could not get the RSDP"));
         goto ErrorExit;
     }
 
@@ -171,8 +170,7 @@ AcpiLoadTables (
     Status = AcpiTbVerifyRsdp (&RsdpAddress);
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("RSDP Failed validation: %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status, "During RSDP validation"));
         goto ErrorExit;
     }
 
@@ -181,8 +179,7 @@ AcpiLoadTables (
     Status = AcpiTbGetTableRsdt ();
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("Could not load RSDT: %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status, "Could not load RSDT"));
         goto ErrorExit;
     }
 
@@ -191,9 +188,8 @@ AcpiLoadTables (
     Status = AcpiTbGetRequiredTables ();
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR ((
-            "Could not get all required tables (DSDT/FADT/FACS): %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status,
+            "Could not get all required tables (DSDT/FADT/FACS)"));
         goto ErrorExit;
     }
 
@@ -204,8 +200,7 @@ AcpiLoadTables (
     Status = AcpiNsLoadNamespace ();
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("Could not load namespace: %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status, "Could not load namespace"));
         goto ErrorExit;
     }
 
@@ -213,9 +208,7 @@ AcpiLoadTables (
 
 
 ErrorExit:
-    ACPI_REPORT_ERROR (("Could not load tables: %s\n",
-        AcpiFormatException (Status)));
-
+    ACPI_EXCEPTION ((AE_INFO, Status, "Could not load tables"));
     return_ACPI_STATUS (Status);
 }
 
Index: sys/dev/acpi/acpica/Subsystem/tbxfroot.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/tbxfroot.c,v
retrieving revision 1.15
diff -u -u -p -r1.15 tbxfroot.c
--- sys/dev/acpi/acpica/Subsystem/tbxfroot.c	29 Jan 2006 03:05:47 -0000	1.15
+++ sys/dev/acpi/acpica/Subsystem/tbxfroot.c	8 Mar 2006 04:07:45 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: tbxfroot - Find the root ACPI table (RSDT)
- *              xRevision: 1.93 $
+ *              xRevision: 1.94 $
  *
  *****************************************************************************/
 
@@ -527,9 +527,8 @@ AcpiFindRootPointer (
     Status = AcpiTbFindRsdp (&TableInfo, Flags);
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR ((
-            "RSDP structure not found, %s Flags=%X\n",
-            AcpiFormatException (Status), Flags));
+        ACPI_EXCEPTION ((AE_INFO, Status,
+            "RSDP structure not found - Flags=%X", Flags));
 
         return_ACPI_STATUS (AE_NO_ACPI_TABLES);
     }
@@ -645,8 +644,8 @@ AcpiTbFindRsdp (
                     ACPI_EBDA_PTR_LENGTH, (void *) &TablePtr);
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR ((
-                "Could not map memory at %8.8X for length %X\n",
+            ACPI_ERROR ((AE_INFO,
+                "Could not map memory at %8.8X for length %X",
                 ACPI_EBDA_PTR_LOCATION, ACPI_EBDA_PTR_LENGTH));
 
             return_ACPI_STATUS (Status);
@@ -672,8 +671,8 @@ AcpiTbFindRsdp (
                         ACPI_EBDA_WINDOW_SIZE, (void *) &TablePtr);
             if (ACPI_FAILURE (Status))
             {
-                ACPI_REPORT_ERROR ((
-                    "Could not map memory at %8.8X for length %X\n",
+                ACPI_ERROR ((AE_INFO,
+                    "Could not map memory at %8.8X for length %X",
                     PhysicalAddress, ACPI_EBDA_WINDOW_SIZE));
 
                 return_ACPI_STATUS (Status);
@@ -704,8 +703,8 @@ AcpiTbFindRsdp (
 
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_ERROR ((
-                "Could not map memory at %8.8X for length %X\n",
+            ACPI_ERROR ((AE_INFO,
+                "Could not map memory at %8.8X for length %X",
                 ACPI_HI_RSDP_WINDOW_BASE, ACPI_HI_RSDP_WINDOW_SIZE));
 
             return_ACPI_STATUS (Status);
@@ -773,7 +772,7 @@ AcpiTbFindRsdp (
 
     /* A valid RSDP was not found */
 
-    ACPI_REPORT_ERROR (("No valid RSDP was found\n"));
+    ACPI_ERROR ((AE_INFO, "No valid RSDP was found"));
     return_ACPI_STATUS (AE_NOT_FOUND);
 }
 
Index: sys/dev/acpi/acpica/Subsystem/utalloc.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/utalloc.c,v
retrieving revision 1.15
diff -u -u -p -r1.15 utalloc.c
--- sys/dev/acpi/acpica/Subsystem/utalloc.c	29 Jan 2006 03:05:47 -0000	1.15
+++ sys/dev/acpi/acpica/Subsystem/utalloc.c	8 Mar 2006 04:07:45 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: utalloc - local memory allocation routines
- *              xRevision: 1.153 $
+ *              xRevision: 1.154 $
  *
  *****************************************************************************/
 
@@ -418,8 +418,8 @@ AcpiUtAllocate (
 
     if (!Size)
     {
-        _ACPI_REPORT_ERROR (Module, Line,
-            ("UtAllocate: Attempt to allocate zero bytes, allocating 1 byte\n"));
+        ACPI_ERROR ((Module, Line,
+            "UtAllocate: Attempt to allocate zero bytes, allocating 1 byte"));
         Size = 1;
     }
 
@@ -428,8 +428,8 @@ AcpiUtAllocate (
     {
         /* Report allocation error */
 
-        _ACPI_REPORT_ERROR (Module, Line,
-            ("UtAllocate: Could not allocate size %X\n", (UINT32) Size));
+        ACPI_ERROR ((Module, Line,
+            "UtAllocate: Could not allocate size %X", (UINT32) Size));
 
         return_PTR (NULL);
     }
@@ -470,8 +470,8 @@ AcpiUtCallocate (
 
     if (!Size)
     {
-        _ACPI_REPORT_ERROR (Module, Line,
-            ("UtCallocate: Attempt to allocate zero bytes, allocating 1 byte\n"));
+        ACPI_ERROR ((Module, Line,
+            "Attempt to allocate zero bytes, allocating 1 byte"));
         Size = 1;
     }
 
@@ -480,8 +480,8 @@ AcpiUtCallocate (
     {
         /* Report allocation error */
 
-        _ACPI_REPORT_ERROR (Module, Line,
-            ("UtCallocate: Could not allocate size %X\n", (UINT32) Size));
+        ACPI_ERROR ((Module, Line,
+            "Could not allocate size %X", (UINT32) Size));
         return_PTR (NULL);
     }
 
@@ -623,8 +623,8 @@ AcpiUtCallocateAndTrack (
     {
         /* Report allocation error */
 
-        _ACPI_REPORT_ERROR (Module, Line,
-            ("UtCallocate: Could not allocate size %X\n", (UINT32) Size));
+        ACPI_ERROR ((Module, Line,
+            "Could not allocate size %X", (UINT32) Size));
         return (NULL);
     }
 
@@ -674,8 +674,8 @@ AcpiUtFreeAndTrack (
 
     if (NULL == Allocation)
     {
-        _ACPI_REPORT_ERROR (Module, Line,
-            ("AcpiUtFree: Attempt to delete a NULL address\n"));
+        ACPI_ERROR ((Module, Line,
+            "Attempt to delete a NULL address"));
 
         return_VOID;
     }
@@ -690,14 +690,11 @@ AcpiUtFreeAndTrack (
                     Component, Module, Line);
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("Could not free memory, %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status, "Could not free memory"));
     }
 
     AcpiOsFree (DebugBlock);
-
     ACPI_DEBUG_PRINT ((ACPI_DB_ALLOCATIONS, "%p freed\n", Allocation));
-
     return_VOID;
 }
 
@@ -790,11 +787,11 @@ AcpiUtTrackAllocation (
     Element = AcpiUtFindAllocation (Allocation);
     if (Element)
     {
-        ACPI_REPORT_ERROR ((
-            "UtTrackAllocation: Allocation already present in list! (%p)\n",
+        ACPI_ERROR ((AE_INFO,
+            "UtTrackAllocation: Allocation already present in list! (%p)",
             Allocation));
 
-        ACPI_REPORT_ERROR (("Element %p Address %p\n",
+        ACPI_ERROR ((AE_INFO, "Element %p Address %p",
             Element, Allocation));
 
         goto UnlockAndExit;
@@ -863,8 +860,8 @@ AcpiUtRemoveAllocation (
     {
         /* No allocations! */
 
-        _ACPI_REPORT_ERROR (Module, Line,
-            ("UtRemoveAllocation: Empty allocation list, nothing to free!\n"));
+        ACPI_ERROR ((Module, Line,
+            "Empty allocation list, nothing to free!"));
 
         return_ACPI_STATUS (AE_OK);
     }
@@ -1049,13 +1046,13 @@ AcpiUtDumpAllocations (
 
     if (!NumOutstanding)
     {
-        ACPI_REPORT_INFO ((
-            "No outstanding allocations\n"));
+        ACPI_INFO ((AE_INFO,
+            "No outstanding allocations"));
     }
     else
     {
-        ACPI_REPORT_ERROR ((
-            "%d(%X) Outstanding allocations\n",
+        ACPI_ERROR ((AE_INFO,
+            "%d(%X) Outstanding allocations",
             NumOutstanding, NumOutstanding));
     }
 
Index: sys/dev/acpi/acpica/Subsystem/utcopy.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/utcopy.c,v
retrieving revision 1.15
diff -u -u -p -r1.15 utcopy.c
--- sys/dev/acpi/acpica/Subsystem/utcopy.c	29 Jan 2006 03:05:47 -0000	1.15
+++ sys/dev/acpi/acpica/Subsystem/utcopy.c	8 Mar 2006 04:07:46 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: utcopy - Internal to external object translation utilities
- *              xRevision: 1.125 $
+ *              xRevision: 1.126 $
  *
  *****************************************************************************/
 
@@ -729,8 +729,8 @@ AcpiUtCopyEobjectToIobject (
         /*
          * Packages as external input to control methods are not supported,
          */
-        ACPI_REPORT_ERROR ((
-            "Packages as parameters not implemented!\n"));
+        ACPI_ERROR ((AE_INFO,
+            "Packages as parameters not implemented!"));
 
         return_ACPI_STATUS (AE_NOT_IMPLEMENTED);
     }
@@ -1012,7 +1012,7 @@ AcpiUtCopyIpackageToIpackage (
                                     sizeof (void *));
     if (!DestObj->Package.Elements)
     {
-        ACPI_REPORT_ERROR (("Package allocation failure\n"));
+        ACPI_ERROR ((AE_INFO, "Package allocation failure"));
         return_ACPI_STATUS (AE_NO_MEMORY);
     }
 
Index: sys/dev/acpi/acpica/Subsystem/utdelete.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/utdelete.c,v
retrieving revision 1.15
diff -u -u -p -r1.15 utdelete.c
--- sys/dev/acpi/acpica/Subsystem/utdelete.c	29 Jan 2006 03:05:48 -0000	1.15
+++ sys/dev/acpi/acpica/Subsystem/utdelete.c	8 Mar 2006 04:07:46 -0000
@@ -1,7 +1,7 @@
 /*******************************************************************************
  *
  * Module Name: utdelete - object deletion and reference count utilities
- *              xRevision: 1.109 $
+ *              xRevision: 1.110 $
  *
  ******************************************************************************/
 
@@ -485,7 +485,7 @@ AcpiUtUpdateRefCount (
 
     default:
 
-        ACPI_REPORT_ERROR (("Unknown action (%X)\n", Action));
+        ACPI_ERROR ((AE_INFO, "Unknown action (%X)", Action));
         break;
     }
 
@@ -496,8 +496,8 @@ AcpiUtUpdateRefCount (
     if (Count > ACPI_MAX_REFERENCE_COUNT)
     {
 
-        ACPI_REPORT_WARNING ((
-            "Large Reference Count (%X) in object %p\n\n",
+        ACPI_WARNING ((AE_INFO,
+            "Large Reference Count (%X) in object %p",
             Count, Object));
     }
 
@@ -661,8 +661,8 @@ AcpiUtUpdateObjectReference (
 
 ErrorExit:
 
-    ACPI_REPORT_ERROR (("Could not update object reference count, %s\n",
-        AcpiFormatException (Status)));
+    ACPI_EXCEPTION ((AE_INFO, Status,
+        "Could not update object reference count"));
 
     return_ACPI_STATUS (Status);
 }
Index: sys/dev/acpi/acpica/Subsystem/uteval.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/uteval.c,v
retrieving revision 1.14
diff -u -u -p -r1.14 uteval.c
--- sys/dev/acpi/acpica/Subsystem/uteval.c	29 Jan 2006 03:05:48 -0000	1.14
+++ sys/dev/acpi/acpica/Subsystem/uteval.c	8 Mar 2006 04:07:46 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: uteval - Object evaluation
- *              xRevision: 1.63 $
+ *              xRevision: 1.64 $
  *
  *****************************************************************************/
 
@@ -251,7 +251,7 @@ AcpiUtEvaluateObject (
         }
         else
         {
-            ACPI_REPORT_MTERROR ("Method execution failed",
+            ACPI_ERROR_METHOD ("Method execution failed",
                 PrefixNode, Path, Status);
         }
 
@@ -264,7 +264,7 @@ AcpiUtEvaluateObject (
     {
         if (ExpectedReturnBtypes)
         {
-            ACPI_REPORT_MTERROR ("No object was returned from",
+            ACPI_ERROR_METHOD ("No object was returned from",
                 PrefixNode, Path, AE_NOT_EXIST);
 
             return_ACPI_STATUS (AE_NOT_EXIST);
@@ -314,11 +314,11 @@ AcpiUtEvaluateObject (
 
     if (!(ExpectedReturnBtypes & ReturnBtype))
     {
-        ACPI_REPORT_MTERROR ("Return object type is incorrect",
+        ACPI_ERROR_METHOD ("Return object type is incorrect",
             PrefixNode, Path, AE_TYPE);
 
-        ACPI_REPORT_ERROR ((
-            "Type returned from %s was incorrect: %s, expected Btypes: %X\n",
+        ACPI_ERROR ((AE_INFO,
+            "Type returned from %s was incorrect: %s, expected Btypes: %X",
             Path, AcpiUtGetObjectTypeName (Info.ReturnObject),
             ExpectedReturnBtypes));
 
Index: sys/dev/acpi/acpica/Subsystem/utglobal.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/utglobal.c,v
retrieving revision 1.16
diff -u -u -p -r1.16 utglobal.c
--- sys/dev/acpi/acpica/Subsystem/utglobal.c	29 Jan 2006 03:05:48 -0000	1.16
+++ sys/dev/acpi/acpica/Subsystem/utglobal.c	8 Mar 2006 04:07:47 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: utglobal - Global variables for the ACPI subsystem
- *              xRevision: 1.226 $
+ *              xRevision: 1.227 $
  *
  *****************************************************************************/
 
@@ -206,8 +206,8 @@ AcpiFormatException (
     {
         /* Exception code was not recognized */
 
-        ACPI_REPORT_ERROR ((
-            "Unknown exception code: 0x%8.8X\n", Status));
+        ACPI_ERROR ((AE_INFO,
+            "Unknown exception code: 0x%8.8X", Status));
 
         Exception = "UNKNOWN_STATUS_CODE";
     }
Index: sys/dev/acpi/acpica/Subsystem/utinit.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/utinit.c,v
retrieving revision 1.14
diff -u -u -p -r1.14 utinit.c
--- sys/dev/acpi/acpica/Subsystem/utinit.c	29 Jan 2006 03:05:48 -0000	1.14
+++ sys/dev/acpi/acpica/Subsystem/utinit.c	8 Mar 2006 04:07:47 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: utinit - Common ACPI subsystem initialization
- *              xRevision: 1.125 $
+ *              xRevision: 1.126 $
  *
  *****************************************************************************/
 
@@ -160,8 +160,8 @@ AcpiUtFadtRegisterError (
     ACPI_SIZE               Offset)
 {
 
-    ACPI_REPORT_WARNING ((
-        "Invalid FADT value %s=%X at offset %X FADT=%p\n",
+    ACPI_WARNING ((AE_INFO,
+        "Invalid FADT value %s=%X at offset %X FADT=%p",
         RegisterName, Value, (UINT32) Offset, AcpiGbl_FADT));
 }
 
@@ -329,8 +329,8 @@ AcpiUtSubsystemShutdown (
 
     if (AcpiGbl_Shutdown)
     {
-        ACPI_REPORT_ERROR ((
-            "ACPI Subsystem is already terminated\n"));
+        ACPI_ERROR ((AE_INFO,
+            "ACPI Subsystem is already terminated"));
         return_VOID;
     }
 
Index: sys/dev/acpi/acpica/Subsystem/utmath.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/utmath.c,v
retrieving revision 1.12
diff -u -u -p -r1.12 utmath.c
--- sys/dev/acpi/acpica/Subsystem/utmath.c	29 Jan 2006 03:05:48 -0000	1.12
+++ sys/dev/acpi/acpica/Subsystem/utmath.c	8 Mar 2006 04:07:47 -0000
@@ -1,7 +1,7 @@
 /*******************************************************************************
  *
  * Module Name: utmath - Integer math support routines
- *              xRevision: 1.19 $
+ *              xRevision: 1.20 $
  *
  ******************************************************************************/
 
@@ -169,7 +169,7 @@ AcpiUtShortDivide (
 
     if (Divisor == 0)
     {
-        ACPI_REPORT_ERROR (("Divide by zero\n"));
+        ACPI_ERROR ((AE_INFO, "Divide by zero"));
         return_ACPI_STATUS (AE_AML_DIVIDE_BY_ZERO);
     }
 
@@ -239,7 +239,7 @@ AcpiUtDivide (
 
     if (InDivisor == 0)
     {
-        ACPI_REPORT_ERROR (("Divide by zero\n"));
+        ACPI_ERROR ((AE_INFO, "Divide by zero"));
         return_ACPI_STATUS (AE_AML_DIVIDE_BY_ZERO);
     }
 
@@ -378,7 +378,7 @@ AcpiUtShortDivide (
 
     if (Divisor == 0)
     {
-        ACPI_REPORT_ERROR (("Divide by zero\n"));
+        ACPI_ERROR ((AE_INFO, "Divide by zero"));
         return_ACPI_STATUS (AE_AML_DIVIDE_BY_ZERO);
     }
 
@@ -410,7 +410,7 @@ AcpiUtDivide (
 
     if (InDivisor == 0)
     {
-        ACPI_REPORT_ERROR (("Divide by zero\n"));
+        ACPI_ERROR ((AE_INFO, "Divide by zero"));
         return_ACPI_STATUS (AE_AML_DIVIDE_BY_ZERO);
     }
 
Index: sys/dev/acpi/acpica/Subsystem/utmisc.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/utmisc.c,v
retrieving revision 1.15
diff -u -u -p -r1.15 utmisc.c
--- sys/dev/acpi/acpica/Subsystem/utmisc.c	29 Jan 2006 03:05:48 -0000	1.15
+++ sys/dev/acpi/acpica/Subsystem/utmisc.c	8 Mar 2006 04:07:47 -0000
@@ -1,7 +1,7 @@
 /*******************************************************************************
  *
  * Module Name: utmisc - common utility procedures
- *              xRevision: 1.134 $
+ *              xRevision: 1.136 $
  *
  ******************************************************************************/
 
@@ -159,7 +159,7 @@ AcpiUtAllocateOwnerId (
 
     if (*OwnerId)
     {
-        ACPI_REPORT_ERROR (("Owner ID [%2.2X] already exists\n", *OwnerId));
+        ACPI_ERROR ((AE_INFO, "Owner ID [%2.2X] already exists", *OwnerId));
         return_ACPI_STATUS (AE_ALREADY_EXISTS);
     }
 
@@ -234,8 +234,8 @@ AcpiUtAllocateOwnerId (
      * methods, or there may be a bug where the IDs are not released.
      */
     Status = AE_OWNER_ID_LIMIT;
-    ACPI_REPORT_ERROR ((
-        "Could not allocate new OwnerId (255 max), AE_OWNER_ID_LIMIT\n"));
+    ACPI_ERROR ((AE_INFO,
+        "Could not allocate new OwnerId (255 max), AE_OWNER_ID_LIMIT"));
 
 Exit:
     (void) AcpiUtReleaseMutex (ACPI_MTX_CACHES);
@@ -278,7 +278,7 @@ AcpiUtReleaseOwnerId (
 
     if (OwnerId == 0)
     {
-        ACPI_REPORT_ERROR (("Invalid OwnerId: %2.2X\n", OwnerId));
+        ACPI_ERROR ((AE_INFO, "Invalid OwnerId: %2.2X", OwnerId));
         return_VOID;
     }
 
@@ -307,8 +307,8 @@ AcpiUtReleaseOwnerId (
     }
     else
     {
-        ACPI_REPORT_ERROR ((
-            "Release of non-allocated OwnerId: %2.2X\n", OwnerId + 1));
+        ACPI_ERROR ((AE_INFO,
+            "Release of non-allocated OwnerId: %2.2X", OwnerId + 1));
     }
 
     (void) AcpiUtReleaseMutex (ACPI_MTX_CACHES);
@@ -1008,38 +1008,92 @@ AcpiUtWalkPackageTree (
 
 /*******************************************************************************
  *
- * FUNCTION:    AcpiUtGenerateChecksum
+ * FUNCTION:    AcpiUtError, AcpiUtWarning, AcpiUtInfo
  *
- * PARAMETERS:  Buffer          - Buffer to be scanned
- *              Length          - number of bytes to examine
+ * PARAMETERS:  ModuleName          - Caller's module name (for error output)
+ *              LineNumber          - Caller's line number (for error output)
+ *              Format              - Printf format string + additional args
  *
- * RETURN:      The generated checksum
+ * RETURN:      None
  *
- * DESCRIPTION: Generate a checksum on a raw buffer
+ * DESCRIPTION: Print message with module/line/version info
  *
  ******************************************************************************/
 
-UINT8
-AcpiUtGenerateChecksum (
-    UINT8                   *Buffer,
-    UINT32                  Length)
+void  ACPI_INTERNAL_VAR_XFACE
+AcpiUtError (
+    const char              *ModuleName,
+    UINT32                  LineNumber,
+    const char              *Format,
+    ...)
 {
-    UINT32                  i;
-    signed char             Sum = 0;
+    va_list                 args;
 
 
-    for (i = 0; i < Length; i++)
-    {
-        Sum = (signed char) (Sum + Buffer[i]);
-    }
+    AcpiOsPrintf ("ACPI Error (%s-%04d): ", ModuleName, LineNumber);
+
+    va_start (args, Format);
+    AcpiOsVprintf (Format, args);
+    AcpiOsPrintf (" [%X]\n", ACPI_CA_VERSION);
+}
+
+void  ACPI_INTERNAL_VAR_XFACE
+AcpiUtException (
+    const char              *ModuleName,
+    UINT32                  LineNumber,
+    ACPI_STATUS             Status,
+    const char              *Format,
+    ...)
+{
+    va_list                 args;
+
+
+    AcpiOsPrintf ("ACPI Exception (%s-%04d): %s, ", ModuleName, LineNumber,
+        AcpiFormatException (Status));
+
+    va_start (args, Format);
+    AcpiOsVprintf (Format, args);
+    AcpiOsPrintf (" [%X]\n", ACPI_CA_VERSION);
+}
+
+void  ACPI_INTERNAL_VAR_XFACE
+AcpiUtWarning (
+    const char              *ModuleName,
+    UINT32                  LineNumber,
+    const char              *Format,
+    ...)
+{
+    va_list                 args;
+
+
+    AcpiOsPrintf ("ACPI Warning (%s-%04d): ", ModuleName, LineNumber);
+
+    va_start (args, Format);
+    AcpiOsVprintf (Format, args);
+    AcpiOsPrintf (" [%X]\n", ACPI_CA_VERSION);
+}
+
+void  ACPI_INTERNAL_VAR_XFACE
+AcpiUtInfo (
+    const char              *ModuleName,
+    UINT32                  LineNumber,
+    const char              *Format,
+    ...)
+{
+    va_list                 args;
 
-    return ((UINT8) (0 - Sum));
+
+    AcpiOsPrintf ("ACPI (%s-%04d): ", ModuleName, LineNumber);
+
+    va_start (args, Format);
+    AcpiOsVprintf (Format, args);
+    AcpiOsPrintf (" [%X]\n", ACPI_CA_VERSION);
 }
 
 
 /*******************************************************************************
  *
- * FUNCTION:    AcpiUtReportError
+ * FUNCTION:    AcpiUtReportError, Warning, Info
  *
  * PARAMETERS:  ModuleName          - Caller's module name (for error output)
  *              LineNumber          - Caller's line number (for error output)
@@ -1048,6 +1102,8 @@ AcpiUtGenerateChecksum (
  *
  * DESCRIPTION: Print error message
  *
+ * Note: Legacy only, should be removed when no longer used by drivers.
+ *
  ******************************************************************************/
 
 void
@@ -1059,20 +1115,6 @@ AcpiUtReportError (
     AcpiOsPrintf ("ACPI Error (%s-%04d): ", ModuleName, LineNumber);
 }
 
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiUtReportWarning
- *
- * PARAMETERS:  ModuleName          - Caller's module name (for error output)
- *              LineNumber          - Caller's line number (for error output)
- *
- * RETURN:      None
- *
- * DESCRIPTION: Print warning message
- *
- ******************************************************************************/
-
 void
 AcpiUtReportWarning (
     const char              *ModuleName,
@@ -1082,20 +1124,6 @@ AcpiUtReportWarning (
     AcpiOsPrintf ("ACPI Warning (%s-%04d): ", ModuleName, LineNumber);
 }
 
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiUtReportInfo
- *
- * PARAMETERS:  ModuleName          - Caller's module name (for error output)
- *              LineNumber          - Caller's line number (for error output)
- *
- * RETURN:      None
- *
- * DESCRIPTION: Print information message
- *
- ******************************************************************************/
-
 void
 AcpiUtReportInfo (
     const char              *ModuleName,
Index: sys/dev/acpi/acpica/Subsystem/utmutex.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/utmutex.c,v
retrieving revision 1.2
diff -u -u -p -r1.2 utmutex.c
--- sys/dev/acpi/acpica/Subsystem/utmutex.c	29 Jan 2006 03:10:55 -0000	1.2
+++ sys/dev/acpi/acpica/Subsystem/utmutex.c	8 Mar 2006 04:07:47 -0000
@@ -1,7 +1,7 @@
 /*******************************************************************************
  *
  * Module Name: utmutex - local mutex support
- *              xRevision: 1.5 $
+ *              xRevision: 1.6 $
  *
  ******************************************************************************/
 
@@ -333,15 +333,15 @@ AcpiUtAcquireMutex (
             {
                 if (i == MutexId)
                 {
-                    ACPI_REPORT_ERROR ((
-                        "Mutex [%s] already acquired by this thread [%X]\n",
+                    ACPI_ERROR ((AE_INFO,
+                        "Mutex [%s] already acquired by this thread [%X]",
                         AcpiUtGetMutexName (MutexId), ThisThreadId));
 
                     return (AE_ALREADY_ACQUIRED);
                 }
 
-                ACPI_REPORT_ERROR ((
-                    "Invalid acquire order: Thread %X owns [%s], wants [%s]\n",
+                ACPI_ERROR ((AE_INFO,
+                    "Invalid acquire order: Thread %X owns [%s], wants [%s]",
                     ThisThreadId, AcpiUtGetMutexName (i),
                     AcpiUtGetMutexName (MutexId)));
 
@@ -367,10 +367,8 @@ AcpiUtAcquireMutex (
     }
     else
     {
-        ACPI_REPORT_ERROR ((
-            "Thread %X could not acquire Mutex [%X] %s\n",
-            ThisThreadId, MutexId,
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status,
+            "Thread %X could not acquire Mutex [%X]", ThisThreadId, MutexId));
     }
 
     return (Status);
@@ -415,8 +413,8 @@ AcpiUtReleaseMutex (
      */
     if (AcpiGbl_MutexInfo[MutexId].ThreadId == ACPI_MUTEX_NOT_ACQUIRED)
     {
-        ACPI_REPORT_ERROR ((
-            "Mutex [%X] is not acquired, cannot release\n", MutexId));
+        ACPI_ERROR ((AE_INFO,
+            "Mutex [%X] is not acquired, cannot release", MutexId));
 
         return (AE_NOT_ACQUIRED);
     }
@@ -441,8 +439,8 @@ AcpiUtReleaseMutex (
                     continue;
                 }
 
-                ACPI_REPORT_ERROR ((
-                    "Invalid release order: owns [%s], releasing [%s]\n",
+                ACPI_ERROR ((AE_INFO,
+                    "Invalid release order: owns [%s], releasing [%s]",
                     AcpiUtGetMutexName (i), AcpiUtGetMutexName (MutexId)));
 
                 return (AE_RELEASE_DEADLOCK);
@@ -459,10 +457,8 @@ AcpiUtReleaseMutex (
 
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR ((
-            "Thread %X could not release Mutex [%X] %s\n",
-            ThisThreadId, MutexId,
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status,
+            "Thread %X could not release Mutex [%X]", ThisThreadId, MutexId));
     }
     else
     {
Index: sys/dev/acpi/acpica/Subsystem/utobject.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/utobject.c,v
retrieving revision 1.16
diff -u -u -p -r1.16 utobject.c
--- sys/dev/acpi/acpica/Subsystem/utobject.c	29 Jan 2006 03:05:48 -0000	1.16
+++ sys/dev/acpi/acpica/Subsystem/utobject.c	8 Mar 2006 04:07:48 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: utobject - ACPI object create/delete/size/cache routines
- *              xRevision: 1.100 $
+ *              xRevision: 1.101 $
  *
  *****************************************************************************/
 
@@ -273,7 +273,7 @@ AcpiUtCreateBufferObject (
         Buffer = ACPI_MEM_CALLOCATE (BufferSize);
         if (!Buffer)
         {
-            ACPI_REPORT_ERROR (("Could not allocate size %X\n",
+            ACPI_ERROR ((AE_INFO, "Could not allocate size %X",
                 (UINT32) BufferSize));
             AcpiUtRemoveReference (BufferDesc);
             return_PTR (NULL);
@@ -332,7 +332,7 @@ AcpiUtCreateStringObject (
     String = ACPI_MEM_CALLOCATE (StringSize + 1);
     if (!String)
     {
-        ACPI_REPORT_ERROR (("Could not allocate size %X\n",
+        ACPI_ERROR ((AE_INFO, "Could not allocate size %X",
             (UINT32) StringSize));
         AcpiUtRemoveReference (StringDesc);
         return_PTR (NULL);
@@ -428,8 +428,8 @@ AcpiUtAllocateObjectDescDbg (
     Object = AcpiOsAcquireObject (AcpiGbl_OperandCache);
     if (!Object)
     {
-        _ACPI_REPORT_ERROR (ModuleName, LineNumber,
-            ("Could not allocate an object descriptor\n"));
+        ACPI_ERROR ((ModuleName, LineNumber,
+            "Could not allocate an object descriptor"));
 
         return_PTR (NULL);
     }
@@ -468,8 +468,8 @@ AcpiUtDeleteObjectDesc (
 
     if (ACPI_GET_DESCRIPTOR_TYPE (Object) != ACPI_DESC_TYPE_OPERAND)
     {
-        ACPI_REPORT_ERROR ((
-            "%p is not an ACPI Operand object [%s]\n", Object,
+        ACPI_ERROR ((AE_INFO,
+            "%p is not an ACPI Operand object [%s]", Object,
             AcpiUtGetDescriptorName (Object)));
         return_VOID;
     }
@@ -581,8 +581,8 @@ AcpiUtGetSimpleObjectSize (
              * Notably, Locals and Args are not supported, but this may be
              * required eventually.
              */
-            ACPI_REPORT_ERROR ((
-                "Unsupported Reference opcode=%X in object %p\n",
+            ACPI_ERROR ((AE_INFO,
+                "Unsupported Reference opcode=%X in object %p",
                 InternalObject->Reference.Opcode, InternalObject));
             Status = AE_TYPE;
             break;
@@ -592,7 +592,7 @@ AcpiUtGetSimpleObjectSize (
 
     default:
 
-        ACPI_REPORT_ERROR (("Unsupported type=%X in object %p\n",
+        ACPI_ERROR ((AE_INFO, "Unsupported type=%X in object %p",
             ACPI_GET_OBJECT_TYPE (InternalObject), InternalObject));
         Status = AE_TYPE;
         break;
Index: sys/dev/acpi/acpica/Subsystem/utresrc.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/utresrc.c,v
retrieving revision 1.2
diff -u -u -p -r1.2 utresrc.c
--- sys/dev/acpi/acpica/Subsystem/utresrc.c	29 Jan 2006 03:10:55 -0000	1.2
+++ sys/dev/acpi/acpica/Subsystem/utresrc.c	8 Mar 2006 04:07:48 -0000
@@ -1,7 +1,7 @@
 /*******************************************************************************
  *
  * Module Name: utresrc - Resource managment utilities
- *              xRevision: 1.8 $
+ *              xRevision: 1.9 $
  *
  ******************************************************************************/
 
@@ -634,6 +634,7 @@ AcpiUtGetDescriptorLength (
  * RETURN:      Status, pointer to the end tag
  *
  * DESCRIPTION: Find the EndTag resource descriptor in an AML resource template
+ *              Note: allows a buffer length of zero.
  *
  ******************************************************************************/
 
@@ -655,6 +656,14 @@ AcpiUtGetResourceEndTag (
     Aml    = ObjDesc->Buffer.Pointer;
     EndAml = Aml + ObjDesc->Buffer.Length;
 
+    /* Allow a buffer length of zero */
+
+    if (!ObjDesc->Buffer.Length)
+    {
+        *EndTag = Aml;
+        return_ACPI_STATUS (AE_OK);
+    }
+
     /* Walk the resource template, one descriptor per iteration */
 
     while (Aml < EndAml)
@@ -671,6 +680,15 @@ AcpiUtGetResourceEndTag (
 
         if (AcpiUtGetResourceType (Aml) == ACPI_RESOURCE_NAME_END_TAG)
         {
+            /*
+             * There must be at least one more byte in the buffer for
+             * the 2nd byte of the EndTag
+             */
+            if ((Aml + 1) >= EndAml)
+            {
+                return_ACPI_STATUS (AE_AML_NO_RESOURCE_END_TAG);
+            }
+
             /* Return the pointer to the EndTag */
 
             *EndTag = Aml;
Index: sys/dev/acpi/acpica/Subsystem/utxface.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/utxface.c,v
retrieving revision 1.14
diff -u -u -p -r1.14 utxface.c
--- sys/dev/acpi/acpica/Subsystem/utxface.c	29 Jan 2006 03:05:48 -0000	1.14
+++ sys/dev/acpi/acpica/Subsystem/utxface.c	8 Mar 2006 04:07:48 -0000
@@ -1,7 +1,7 @@
 /******************************************************************************
  *
  * Module Name: utxface - External interfaces for "global" ACPI functions
- *              xRevision: 1.115 $
+ *              xRevision: 1.116 $
  *
  *****************************************************************************/
 
@@ -159,8 +159,7 @@ AcpiInitializeSubsystem (
     Status = AcpiOsInitialize ();
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("OSL failed to initialize, %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status, "During OSL initialization"));
         return_ACPI_STATUS (Status);
     }
 
@@ -173,8 +172,7 @@ AcpiInitializeSubsystem (
     Status = AcpiUtMutexInitialize ();
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("Global mutex creation failure, %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status, "During Global Mutex creation"));
         return_ACPI_STATUS (Status);
     }
 
@@ -185,15 +183,13 @@ AcpiInitializeSubsystem (
     Status = AcpiNsRootInitialize ();
     if (ACPI_FAILURE (Status))
     {
-        ACPI_REPORT_ERROR (("Namespace initialization failure, %s\n",
-            AcpiFormatException (Status)));
+        ACPI_EXCEPTION ((AE_INFO, Status, "During Namespace initialization"));
         return_ACPI_STATUS (Status);
     }
 
     /* If configured, initialize the AML debugger */
 
     ACPI_DEBUGGER_EXEC (Status = AcpiDbInitialize ());
-
     return_ACPI_STATUS (Status);
 }
 
@@ -248,7 +244,7 @@ AcpiEnableSubsystem (
         Status = AcpiEnable ();
         if (ACPI_FAILURE (Status))
         {
-            ACPI_REPORT_WARNING (("AcpiEnable failed\n"));
+            ACPI_WARNING ((AE_INFO, "AcpiEnable failed"));
             return_ACPI_STATUS (Status);
         }
     }
