diff --git a/src/add-ons/kernel/bus_managers/acpi/common/dmtable.c b/src/add-ons/kernel/bus_managers/acpi/common/dmtable.c index a9e6a1de63..b2ed5dd3ad 100644 --- a/src/add-ons/kernel/bus_managers/acpi/common/dmtable.c +++ b/src/add-ons/kernel/bus_managers/acpi/common/dmtable.c @@ -822,44 +822,25 @@ AcpiDmDumpTable ( AcpiOsPrintf ("%1.1X\n", (*Target >> 2) & 0x03); break; - /* Standard Data Types */ + /* Integer Data Types */ case ACPI_DMT_UINT8: - - AcpiOsPrintf ("%2.2X\n", *Target); - break; - case ACPI_DMT_UINT16: - - AcpiOsPrintf ("%4.4X\n", ACPI_GET16 (Target)); - break; - case ACPI_DMT_UINT24: - - AcpiOsPrintf ("%2.2X%2.2X%2.2X\n", - *Target, *(Target + 1), *(Target + 2)); - break; - case ACPI_DMT_UINT32: - - AcpiOsPrintf ("%8.8X\n", ACPI_GET32 (Target)); - break; - case ACPI_DMT_UINT56: - - for (Temp8 = 0; Temp8 < 7; Temp8++) + case ACPI_DMT_UINT64: + /* + * Dump bytes - high byte first, low byte last. + * Note: All ACPI tables are little-endian. + */ + for (Temp8 = (UINT8) ByteLength; Temp8 > 0; Temp8--) { - AcpiOsPrintf ("%2.2X", Target[Temp8]); + AcpiOsPrintf ("%2.2X", Target[Temp8 - 1]); } AcpiOsPrintf ("\n"); break; - case ACPI_DMT_UINT64: - - AcpiOsPrintf ("%8.8X%8.8X\n", - ACPI_FORMAT_UINT64 (ACPI_GET64 (Target))); - break; - case ACPI_DMT_BUF7: case ACPI_DMT_BUF16: case ACPI_DMT_BUF128: diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acapps.h b/src/add-ons/kernel/bus_managers/acpi/include/acapps.h index 4256ef89b2..d6a19f5574 100644 --- a/src/add-ons/kernel/bus_managers/acpi/include/acapps.h +++ b/src/add-ons/kernel/bus_managers/acpi/include/acapps.h @@ -153,6 +153,15 @@ Prefix, ACPICA_COPYRIGHT, \ Prefix +/* Macros for usage messages */ + +#define ACPI_USAGE_HEADER(Usage) \ + printf ("Usage: %s\nOptions:\n", Usage); + +#define ACPI_OPTION(Name, Description) \ + printf (" %-18s%s\n", Name, Description); + + #define FILE_SUFFIX_DISASSEMBLY "dsl" #define ACPI_TABLE_FILE_SUFFIX ".dat" diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acconfig.h b/src/add-ons/kernel/bus_managers/acpi/include/acconfig.h index df826fa057..9bc00f1577 100644 --- a/src/add-ons/kernel/bus_managers/acpi/include/acconfig.h +++ b/src/add-ons/kernel/bus_managers/acpi/include/acconfig.h @@ -195,7 +195,7 @@ /* Maximum sleep allowed via Sleep() operator */ -#define ACPI_MAX_SLEEP 20000 /* Two seconds */ +#define ACPI_MAX_SLEEP 2000 /* 2000 millisec == two seconds */ /****************************************************************************** diff --git a/src/add-ons/kernel/bus_managers/acpi/include/aclocal.h b/src/add-ons/kernel/bus_managers/acpi/include/aclocal.h index 22b5dd36b2..b1b1d05a9e 100644 --- a/src/add-ons/kernel/bus_managers/acpi/include/aclocal.h +++ b/src/add-ons/kernel/bus_managers/acpi/include/aclocal.h @@ -285,7 +285,6 @@ typedef struct acpi_namespace_node #define ANOBJ_IS_EXTERNAL 0x08 /* iASL only: This object created via External() */ #define ANOBJ_METHOD_NO_RETVAL 0x10 /* iASL only: Method has no return value */ #define ANOBJ_METHOD_SOME_NO_RETVAL 0x20 /* iASL only: Method has at least one return value */ -#define ANOBJ_IS_BIT_OFFSET 0x40 /* iASL only: Reference is a bit offset */ #define ANOBJ_IS_REFERENCED 0x80 /* iASL only: Object was referenced */ @@ -847,6 +846,17 @@ typedef struct acpi_opcode_info } ACPI_OPCODE_INFO; +/* Structure for Resource Tag information */ + +typedef struct acpi_tag_info +{ + UINT32 BitOffset; + UINT32 BitLength; + +} ACPI_TAG_INFO; + +/* Value associated with the parse object */ + typedef union acpi_parse_value { UINT64 Integer; /* Integer constant (Up to 64 bits) */ @@ -855,6 +865,7 @@ typedef union acpi_parse_value UINT8 *Buffer; /* buffer or string */ char *Name; /* NULL terminated string */ union acpi_parse_object *Arg; /* arguments and contained ops */ + ACPI_TAG_INFO Tag; /* Resource descriptor tag info */ } ACPI_PARSE_VALUE; diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acpixf.h b/src/add-ons/kernel/bus_managers/acpi/include/acpixf.h index ca90112409..34f84b166d 100644 --- a/src/add-ons/kernel/bus_managers/acpi/include/acpixf.h +++ b/src/add-ons/kernel/bus_managers/acpi/include/acpixf.h @@ -120,7 +120,7 @@ /* Current ACPICA subsystem version in YYYYMMDD format */ -#define ACPI_CA_VERSION 0x20110623 +#define ACPI_CA_VERSION 0x20110922 #include "actypes.h" #include "actbl.h" diff --git a/src/add-ons/kernel/bus_managers/acpi/include/platform/acenv.h b/src/add-ons/kernel/bus_managers/acpi/include/platform/acenv.h index e5b39a17b9..c1cdf082ec 100644 --- a/src/add-ons/kernel/bus_managers/acpi/include/platform/acenv.h +++ b/src/add-ons/kernel/bus_managers/acpi/include/platform/acenv.h @@ -173,7 +173,8 @@ * no debug output. */ #if (defined ACPI_BIN_APP) || \ - (defined ACPI_SRC_APP) + (defined ACPI_SRC_APP) || \ + (defined ACPI_XTRACT_APP) #define ACPI_APPLICATION #define ACPI_SINGLE_THREADED #endif