summaryrefslogtreecommitdiffstats
path: root/source/tools
diff options
context:
space:
mode:
Diffstat (limited to 'source/tools')
-rw-r--r--source/tools/acpidump/acpidump.h12
-rw-r--r--source/tools/acpidump/apdump.c25
-rw-r--r--source/tools/acpidump/apmain.c24
-rw-r--r--source/tools/acpiexec/aeexec.c7
-rw-r--r--source/tools/acpiexec/aehandlers.c2
-rw-r--r--source/tools/acpiexec/aemain.c8
-rw-r--r--source/tools/acpihelp/ahmain.c4
-rw-r--r--source/tools/acpisrc/asfile.c2
-rw-r--r--source/tools/acpisrc/asmain.c8
9 files changed, 58 insertions, 34 deletions
diff --git a/source/tools/acpidump/acpidump.h b/source/tools/acpidump/acpidump.h
index c76ec87..44fd7d3 100644
--- a/source/tools/acpidump/acpidump.h
+++ b/source/tools/acpidump/acpidump.h
@@ -98,6 +98,14 @@ typedef struct ap_dump_action
#define AP_MAX_ACPI_FILES 256 /* Prevent infinite loops */
+/* Minimum FADT sizes for various table addresses */
+
+#define MIN_FADT_FOR_DSDT (ACPI_FADT_OFFSET (Dsdt) + sizeof (UINT32))
+#define MIN_FADT_FOR_FACS (ACPI_FADT_OFFSET (Facs) + sizeof (UINT32))
+#define MIN_FADT_FOR_XDSDT (ACPI_FADT_OFFSET (XDsdt) + sizeof (UINT64))
+#define MIN_FADT_FOR_XFACS (ACPI_FADT_OFFSET (XFacs) + sizeof (UINT64))
+
+
/*
* apdump - Table get/dump routines
*/
@@ -117,6 +125,10 @@ int
ApDumpAllTables (
void);
+BOOLEAN
+ApIsValidHeader (
+ ACPI_TABLE_HEADER *Table);
+
/*
* apfiles - File I/O utilities
diff --git a/source/tools/acpidump/apdump.c b/source/tools/acpidump/apdump.c
index c229ba5..5000e4d 100644
--- a/source/tools/acpidump/apdump.c
+++ b/source/tools/acpidump/apdump.c
@@ -46,10 +46,6 @@
/* Local prototypes */
-static BOOLEAN
-ApIsValidHeader (
- ACPI_TABLE_HEADER *Table);
-
static int
ApDumpTableBuffer (
ACPI_TABLE_HEADER *Table,
@@ -68,7 +64,7 @@ ApDumpTableBuffer (
*
******************************************************************************/
-static BOOLEAN
+BOOLEAN
ApIsValidHeader (
ACPI_TABLE_HEADER *Table)
{
@@ -77,7 +73,7 @@ ApIsValidHeader (
if (!AcpiUtValidAcpiName (Table->Signature))
{
- fprintf (stderr, "Table signature (0x%X) is invalid\n",
+ fprintf (stderr, "Table signature (0x%8.8X) is invalid\n",
*(UINT32 *) Table->Signature);
return (FALSE);
}
@@ -86,7 +82,7 @@ ApIsValidHeader (
if (Table->Length <= sizeof (ACPI_TABLE_HEADER))
{
- fprintf (stderr, "Table length (0x%X) is invalid\n",
+ fprintf (stderr, "Table length (0x%8.8X) is invalid\n",
Table->Length);
return (FALSE);
}
@@ -295,10 +291,10 @@ ApDumpTableByName (
ACPI_STATUS Status;
- if (strlen (Signature) > ACPI_NAME_SIZE)
+ if (strlen (Signature) != ACPI_NAME_SIZE)
{
fprintf (stderr,
- "Invalid table signature [%s]: too long (4 chars max)\n",
+ "Invalid table signature [%s]: must be exactly 4 characters\n",
Signature);
return (-1);
}
@@ -308,6 +304,17 @@ ApDumpTableByName (
strcpy (LocalSignature, Signature);
AcpiUtStrupr (LocalSignature);
+ /* To be friendly, handle tables whose signatures do not match the name */
+
+ if (ACPI_COMPARE_NAME (LocalSignature, "FADT"))
+ {
+ strcpy (LocalSignature, ACPI_SIG_FADT);
+ }
+ else if (ACPI_COMPARE_NAME (LocalSignature, "MADT"))
+ {
+ strcpy (LocalSignature, ACPI_SIG_MADT);
+ }
+
/* Dump all instances of this signature (to handle multiple SSDTs) */
for (Instance = 0; Instance < AP_MAX_ACPI_FILES; Instance++)
diff --git a/source/tools/acpidump/apmain.c b/source/tools/acpidump/apmain.c
index 9ee4f46..4c90cb7 100644
--- a/source/tools/acpidump/apmain.c
+++ b/source/tools/acpidump/apmain.c
@@ -92,7 +92,7 @@ UINT32 CurrentAction = 0;
#define AP_UTILITY_NAME "ACPI Binary Table Dump Utility"
-#define AP_SUPPORTED_OPTIONS "?a:bf:hn:o:rsv"
+#define AP_SUPPORTED_OPTIONS "?a:bf:hn:o:svz"
/******************************************************************************
@@ -113,15 +113,15 @@ ApDisplayUsage (
ACPI_OPTION ("-b", "Dump tables to binary files");
ACPI_OPTION ("-h -?", "This help message");
ACPI_OPTION ("-o <File>", "Redirect output to file");
- ACPI_OPTION ("-r", "Revision (version)");
ACPI_OPTION ("-s", "Print table summaries only");
- ACPI_OPTION ("-v", "Verbose mode");
+ ACPI_OPTION ("-v", "Version of this utility");
+ ACPI_OPTION ("-z", "Verbose mode");
printf ("\nTable Options:\n");
- ACPI_OPTION ("-a <Address>", "Get table via physical address");
- ACPI_OPTION ("-f <BinaryFile>", "Get table via binary file");
- ACPI_OPTION ("-n <Signature>", "Get table via name/signature");
+ ACPI_OPTION ("-a <Address>", "Get table via a physical address");
+ ACPI_OPTION ("-f <BinaryFile>", "Get table via a binary file");
+ ACPI_OPTION ("-n <Signature>", "Get table via a name/signature");
printf (
"\n"
@@ -210,17 +210,17 @@ ApDoOptions (
}
continue;
- case 'r': /* Revision/version */
-
- printf (ACPI_COMMON_SIGNON (AP_UTILITY_NAME));
- exit (0);
-
case 's': /* Print table summaries only */
Gbl_SummaryMode = TRUE;
continue;
- case 'v': /* Verbose mode */
+ case 'v': /* Revision/version */
+
+ printf (ACPI_COMMON_SIGNON (AP_UTILITY_NAME));
+ exit (0);
+
+ case 'z': /* Verbose mode */
Gbl_VerboseMode = TRUE;
fprintf (stderr, ACPI_COMMON_SIGNON (AP_UTILITY_NAME));
diff --git a/source/tools/acpiexec/aeexec.c b/source/tools/acpiexec/aeexec.c
index 4c7cb4e..be4d8d6 100644
--- a/source/tools/acpiexec/aeexec.c
+++ b/source/tools/acpiexec/aeexec.c
@@ -588,7 +588,6 @@ AeMiscellaneousTests (
AE_CHECK_OK (AcpiLoadTable, Status);
}
-
AeHardwareInterfaces ();
AeGenericRegisters ();
AeSetupConfiguration (Ssdt3Code);
@@ -597,6 +596,8 @@ AeMiscellaneousTests (
AeTestPackageArgument ();
AeMutexInterfaces ();
+ /* Test _OSI install/remove */
+
Status = AcpiInstallInterface ("");
AE_CHECK_STATUS (AcpiInstallInterface, Status, AE_BAD_PARAMETER);
@@ -618,6 +619,10 @@ AeMiscellaneousTests (
Status = AcpiInstallInterface ("AnotherTestString");
AE_CHECK_OK (AcpiInstallInterface, Status);
+ /* Test _OSI execution */
+
+ Status = ExecuteOSI ("Extended Address Space Descriptor", 0xFFFFFFFF);
+ AE_CHECK_OK (ExecuteOSI, Status);
Status = ExecuteOSI ("Windows 2001", 0xFFFFFFFF);
AE_CHECK_OK (ExecuteOSI, Status);
diff --git a/source/tools/acpiexec/aehandlers.c b/source/tools/acpiexec/aehandlers.c
index 7f704ef..44ce31f 100644
--- a/source/tools/acpiexec/aehandlers.c
+++ b/source/tools/acpiexec/aehandlers.c
@@ -1192,7 +1192,7 @@ AeRegionHandler (
case AML_FIELD_ATTRIB_QUICK:
case AML_FIELD_ATTRIB_SEND_RCV:
case AML_FIELD_ATTRIB_BYTE:
-
+
Length = 1;
break;
diff --git a/source/tools/acpiexec/aemain.c b/source/tools/acpiexec/aemain.c
index 2764b58..aa0612c 100644
--- a/source/tools/acpiexec/aemain.c
+++ b/source/tools/acpiexec/aemain.c
@@ -194,19 +194,19 @@ AeDoOptions (
break;
case 'r':
-
+
AcpiGbl_DisableAutoRepair = TRUE;
break;
case 't':
-
+
#ifdef ACPI_DBG_TRACK_ALLOCATIONS
AcpiGbl_DisableMemTracking = TRUE;
#endif
break;
default:
-
+
printf ("Unknown option: -d%s\n", AcpiGbl_Optarg);
return (-1);
}
@@ -327,7 +327,7 @@ AeDoOptions (
break;
default:
-
+
usage();
return (-1);
}
diff --git a/source/tools/acpihelp/ahmain.c b/source/tools/acpihelp/ahmain.c
index 31748b2..07e162c 100644
--- a/source/tools/acpihelp/ahmain.c
+++ b/source/tools/acpihelp/ahmain.c
@@ -148,7 +148,7 @@ main (
break;
case 's':
-
+
DecodeType = AH_DECODE_ASL;
break;
@@ -171,7 +171,7 @@ main (
break;
case AH_DECODE_AML_OPCODE:
-
+
AhDecodeAmlOpcode (Name);
break;
diff --git a/source/tools/acpisrc/asfile.c b/source/tools/acpisrc/asfile.c
index 9b8ec2f..d691582 100644
--- a/source/tools/acpisrc/asfile.c
+++ b/source/tools/acpisrc/asfile.c
@@ -312,7 +312,7 @@ AsConvertFile (
switch (FileType)
{
case FILE_TYPE_SOURCE:
-
+
Functions = ConversionTable->SourceFunctions;
StringTable = ConversionTable->SourceStringTable;
LineTable = ConversionTable->SourceLineTable;
diff --git a/source/tools/acpisrc/asmain.c b/source/tools/acpisrc/asmain.c
index ee2f3a9..dc69189 100644
--- a/source/tools/acpisrc/asmain.c
+++ b/source/tools/acpisrc/asmain.c
@@ -334,7 +334,7 @@ main (
while ((j = AcpiGetopt (argc, argv, "cdhlqsuvy")) != EOF) switch(j)
{
case 'l':
-
+
/* Linux code generation */
printf ("Creating Linux source code\n");
@@ -344,7 +344,7 @@ main (
break;
case 'c':
-
+
/* Cleanup code */
printf ("Code cleanup\n");
@@ -375,7 +375,7 @@ main (
break;
case 'v':
-
+
/* Verbose mode */
Gbl_VerboseMode = TRUE;
@@ -403,7 +403,7 @@ main (
break;
default:
-
+
AsDisplayUsage ();
return (-1);
}
OpenPOWER on IntegriCloud