diff options
Diffstat (limited to 'source/components/tables')
-rw-r--r-- | source/components/tables/tbdata.c | 33 | ||||
-rw-r--r-- | source/components/tables/tbinstal.c | 68 | ||||
-rw-r--r-- | source/components/tables/tbprint.c | 18 | ||||
-rw-r--r-- | source/components/tables/tbxfroot.c | 6 |
4 files changed, 45 insertions, 80 deletions
diff --git a/source/components/tables/tbdata.c b/source/components/tables/tbdata.c index c8b8a793f7ccd..5c1cfe40d9f20 100644 --- a/source/components/tables/tbdata.c +++ b/source/components/tables/tbdata.c @@ -121,7 +121,8 @@ AcpiTbAcquireTable ( case ACPI_TABLE_ORIGIN_INTERNAL_VIRTUAL: case ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL: - Table = ACPI_CAST_PTR (ACPI_TABLE_HEADER, TableDesc->Address); + Table = ACPI_CAST_PTR (ACPI_TABLE_HEADER, + ACPI_PHYSADDR_TO_PTR (TableDesc->Address)); break; default: @@ -227,7 +228,8 @@ AcpiTbAcquireTempTable ( case ACPI_TABLE_ORIGIN_INTERNAL_VIRTUAL: case ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL: - TableHeader = ACPI_CAST_PTR (ACPI_TABLE_HEADER, Address); + TableHeader = ACPI_CAST_PTR (ACPI_TABLE_HEADER, + ACPI_PHYSADDR_TO_PTR (Address)); if (!TableHeader) { return (AE_NO_MEMORY); @@ -437,11 +439,11 @@ AcpiTbVerifyTempTable ( if (ACPI_FAILURE (Status)) { ACPI_EXCEPTION ((AE_INFO, AE_NO_MEMORY, - "%4.4s " ACPI_PRINTF_UINT + "%4.4s 0x%8.8X%8.8X" " Attempted table install failed", AcpiUtValidAcpiName (TableDesc->Signature.Ascii) ? TableDesc->Signature.Ascii : "????", - ACPI_FORMAT_TO_UINT (TableDesc->Address))); + ACPI_FORMAT_UINT64 (TableDesc->Address))); goto InvalidateAndExit; } } @@ -529,21 +531,24 @@ AcpiTbResizeRootTableList ( /******************************************************************************* * - * FUNCTION: AcpiTbGetNextRootIndex + * FUNCTION: AcpiTbGetNextTableDescriptor * * PARAMETERS: TableIndex - Where table index is returned + * TableDesc - Where table descriptor is returned * - * RETURN: Status and table index. + * RETURN: Status and table index/descriptor. * * DESCRIPTION: Allocate a new ACPI table entry to the global table list * ******************************************************************************/ ACPI_STATUS -AcpiTbGetNextRootIndex ( - UINT32 *TableIndex) +AcpiTbGetNextTableDescriptor ( + UINT32 *TableIndex, + ACPI_TABLE_DESC **TableDesc) { ACPI_STATUS Status; + UINT32 i; /* Ensure that there is room for the table in the Root Table List */ @@ -558,8 +563,18 @@ AcpiTbGetNextRootIndex ( } } - *TableIndex = AcpiGbl_RootTableList.CurrentTableCount; + i = AcpiGbl_RootTableList.CurrentTableCount; AcpiGbl_RootTableList.CurrentTableCount++; + + if (TableIndex) + { + *TableIndex = i; + } + if (TableDesc) + { + *TableDesc = &AcpiGbl_RootTableList.Tables[i]; + } + return (AE_OK); } diff --git a/source/components/tables/tbinstal.c b/source/components/tables/tbinstal.c index 6def2545a9aa3..e2c6833c36f6f 100644 --- a/source/components/tables/tbinstal.c +++ b/source/components/tables/tbinstal.c @@ -201,8 +201,8 @@ AcpiTbInstallFixedTable ( ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL); if (ACPI_FAILURE (Status)) { - ACPI_ERROR ((AE_INFO, "Could not acquire table length at %p", - ACPI_CAST_PTR (void, Address))); + ACPI_ERROR ((AE_INFO, "Could not acquire table length at %8.8X%8.8X", + ACPI_FORMAT_UINT64 (Address))); return_ACPI_STATUS (Status); } @@ -268,8 +268,8 @@ AcpiTbInstallStandardTable ( Status = AcpiTbAcquireTempTable (&NewTableDesc, Address, Flags); if (ACPI_FAILURE (Status)) { - ACPI_ERROR ((AE_INFO, "Could not acquire table length at %p", - ACPI_CAST_PTR (void, Address))); + ACPI_ERROR ((AE_INFO, "Could not acquire table length at %8.8X%8.8X", + ACPI_FORMAT_UINT64 (Address))); return_ACPI_STATUS (Status); } @@ -281,8 +281,8 @@ AcpiTbInstallStandardTable ( AcpiGbl_DisableSsdtTableInstall && ACPI_COMPARE_NAME (&NewTableDesc.Signature, ACPI_SIG_SSDT)) { - ACPI_INFO ((AE_INFO, "Ignoring installation of %4.4s at %p", - NewTableDesc.Signature.Ascii, ACPI_CAST_PTR (void, Address))); + ACPI_INFO ((AE_INFO, "Ignoring installation of %4.4s at %8.8X%8.8X", + NewTableDesc.Signature.Ascii, ACPI_FORMAT_UINT64 (Address))); goto ReleaseAndExit; } @@ -368,7 +368,6 @@ AcpiTbInstallStandardTable ( */ AcpiTbUninstallTable (&NewTableDesc); *TableIndex = i; - (void) AcpiUtReleaseMutex (ACPI_MTX_TABLES); return_ACPI_STATUS (AE_OK); } } @@ -376,7 +375,7 @@ AcpiTbInstallStandardTable ( /* Add the table to the global root table list */ - Status = AcpiTbGetNextRootIndex (&i); + Status = AcpiTbGetNextTableDescriptor (&i, NULL); if (ACPI_FAILURE (Status)) { goto ReleaseAndExit; @@ -459,11 +458,11 @@ FinishOverride: return; } - ACPI_INFO ((AE_INFO, "%4.4s " ACPI_PRINTF_UINT - " %s table override, new table: " ACPI_PRINTF_UINT, + ACPI_INFO ((AE_INFO, "%4.4s 0x%8.8X%8.8X" + " %s table override, new table: 0x%8.8X%8.8X", OldTableDesc->Signature.Ascii, - ACPI_FORMAT_TO_UINT (OldTableDesc->Address), - OverrideType, ACPI_FORMAT_TO_UINT (NewTableDesc.Address))); + ACPI_FORMAT_UINT64 (OldTableDesc->Address), + OverrideType, ACPI_FORMAT_UINT64 (NewTableDesc.Address))); /* We can now uninstall the original table */ @@ -485,49 +484,6 @@ FinishOverride: /******************************************************************************* * - * FUNCTION: AcpiTbStoreTable - * - * PARAMETERS: Address - Table address - * Table - Table header - * Length - Table length - * Flags - Install flags - * TableIndex - Where the table index is returned - * - * RETURN: Status and table index. - * - * DESCRIPTION: Add an ACPI table to the global table list - * - ******************************************************************************/ - -ACPI_STATUS -AcpiTbStoreTable ( - ACPI_PHYSICAL_ADDRESS Address, - ACPI_TABLE_HEADER *Table, - UINT32 Length, - UINT8 Flags, - UINT32 *TableIndex) -{ - ACPI_STATUS Status; - ACPI_TABLE_DESC *TableDesc; - - - Status = AcpiTbGetNextRootIndex (TableIndex); - if (ACPI_FAILURE (Status)) - { - return (Status); - } - - /* Initialize added table */ - - TableDesc = &AcpiGbl_RootTableList.Tables[*TableIndex]; - AcpiTbInitTableDescriptor (TableDesc, Address, Flags, Table); - TableDesc->Pointer = Table; - return (AE_OK); -} - - -/******************************************************************************* - * * FUNCTION: AcpiTbUninstallTable * * PARAMETERS: TableDesc - Table descriptor @@ -558,7 +514,7 @@ AcpiTbUninstallTable ( if ((TableDesc->Flags & ACPI_TABLE_ORIGIN_MASK) == ACPI_TABLE_ORIGIN_INTERNAL_VIRTUAL) { - ACPI_FREE (ACPI_CAST_PTR (void, TableDesc->Address)); + ACPI_FREE (ACPI_PHYSADDR_TO_PTR (TableDesc->Address)); } TableDesc->Address = ACPI_PTR_TO_PHYSADDR (NULL); diff --git a/source/components/tables/tbprint.c b/source/components/tables/tbprint.c index d214fd7c0abe6..48d8d50d461c2 100644 --- a/source/components/tables/tbprint.c +++ b/source/components/tables/tbprint.c @@ -144,18 +144,12 @@ AcpiTbPrintTableHeader ( ACPI_TABLE_HEADER LocalHeader; - /* - * The reason that we use ACPI_PRINTF_UINT and ACPI_FORMAT_TO_UINT is to - * support both 32-bit and 64-bit hosts/addresses in a consistent manner. - * The %p specifier does not emit uniform output on all hosts. On some, - * leading zeros are not supported. - */ if (ACPI_COMPARE_NAME (Header->Signature, ACPI_SIG_FACS)) { /* FACS only has signature and length fields */ - ACPI_INFO ((AE_INFO, "%-4.4s " ACPI_PRINTF_UINT " %06X", - Header->Signature, ACPI_FORMAT_TO_UINT (Address), + ACPI_INFO ((AE_INFO, "%-4.4s 0x%8.8X%8.8X %06X", + Header->Signature, ACPI_FORMAT_UINT64 (Address), Header->Length)); } else if (ACPI_VALIDATE_RSDP_SIG (Header->Signature)) @@ -166,8 +160,8 @@ AcpiTbPrintTableHeader ( ACPI_CAST_PTR (ACPI_TABLE_RSDP, Header)->OemId, ACPI_OEM_ID_SIZE); AcpiTbFixString (LocalHeader.OemId, ACPI_OEM_ID_SIZE); - ACPI_INFO ((AE_INFO, "RSDP " ACPI_PRINTF_UINT " %06X (v%.2d %-6.6s)", - ACPI_FORMAT_TO_UINT (Address), + ACPI_INFO ((AE_INFO, "RSDP 0x%8.8X%8.8X %06X (v%.2d %-6.6s)", + ACPI_FORMAT_UINT64 (Address), (ACPI_CAST_PTR (ACPI_TABLE_RSDP, Header)->Revision > 0) ? ACPI_CAST_PTR (ACPI_TABLE_RSDP, Header)->Length : 20, ACPI_CAST_PTR (ACPI_TABLE_RSDP, Header)->Revision, @@ -180,9 +174,9 @@ AcpiTbPrintTableHeader ( AcpiTbCleanupTableHeader (&LocalHeader, Header); ACPI_INFO ((AE_INFO, - "%-4.4s " ACPI_PRINTF_UINT + "%-4.4s 0x%8.8X%8.8X" " %06X (v%.2d %-6.6s %-8.8s %08X %-4.4s %08X)", - LocalHeader.Signature, ACPI_FORMAT_TO_UINT (Address), + LocalHeader.Signature, ACPI_FORMAT_UINT64 (Address), LocalHeader.Length, LocalHeader.Revision, LocalHeader.OemId, LocalHeader.OemTableId, LocalHeader.OemRevision, LocalHeader.AslCompilerId, LocalHeader.AslCompilerRevision)); diff --git a/source/components/tables/tbxfroot.c b/source/components/tables/tbxfroot.c index 01a8e4ada6921..92ace5cb02beb 100644 --- a/source/components/tables/tbxfroot.c +++ b/source/components/tables/tbxfroot.c @@ -158,7 +158,7 @@ AcpiTbValidateRsdp ( ACPI_STATUS AcpiFindRootPointer ( - ACPI_SIZE *TableAddress) + ACPI_PHYSICAL_ADDRESS *TableAddress) { UINT8 *TablePtr; UINT8 *MemRover; @@ -218,7 +218,7 @@ AcpiFindRootPointer ( PhysicalAddress += (UINT32) ACPI_PTR_DIFF (MemRover, TablePtr); - *TableAddress = PhysicalAddress; + *TableAddress = (ACPI_PHYSICAL_ADDRESS) PhysicalAddress; return_ACPI_STATUS (AE_OK); } } @@ -249,7 +249,7 @@ AcpiFindRootPointer ( PhysicalAddress = (UINT32) (ACPI_HI_RSDP_WINDOW_BASE + ACPI_PTR_DIFF (MemRover, TablePtr)); - *TableAddress = PhysicalAddress; + *TableAddress = (ACPI_PHYSICAL_ADDRESS) PhysicalAddress; return_ACPI_STATUS (AE_OK); } |