Deleted Added
full compact
256a257,260
> /* Header */
>
> AcpiOsPrintf ("Idx ID Status Type Sig Address Len Header\n");
>
262d265
< AcpiOsPrintf ("%u ", i);
263a267,304
> /* Index and Table ID */
>
> AcpiOsPrintf ("%3u %.2u ", i, TableDesc->OwnerId);
>
> /* Decode the table flags */
>
> if (!(TableDesc->Flags & ACPI_TABLE_IS_LOADED))
> {
> AcpiOsPrintf ("NotLoaded ");
> }
> else
> {
> AcpiOsPrintf (" Loaded ");
> }
>
> switch (TableDesc->Flags & ACPI_TABLE_ORIGIN_MASK)
> {
> case ACPI_TABLE_ORIGIN_UNKNOWN:
> AcpiOsPrintf ("Unknown ");
> break;
>
> case ACPI_TABLE_ORIGIN_MAPPED:
> AcpiOsPrintf ("Mapped ");
> break;
>
> case ACPI_TABLE_ORIGIN_ALLOCATED:
> AcpiOsPrintf ("Allocated ");
> break;
>
> case ACPI_TABLE_ORIGIN_OVERRIDE:
> AcpiOsPrintf ("Override ");
> break;
>
> default:
> AcpiOsPrintf ("INVALID ");
> break;
> }
>
293,295c334,335
< * PARAMETERS: TableArg - Name of the table to be unloaded
< * InstanceArg - Which instance of the table to unload (if
< * there are multiple tables of the same type)
---
> * PARAMETERS: ObjectName - Namespace pathname for an object that
> * is owned by the table to be unloaded
297c337
< * RETURN: Nonde
---
> * RETURN: None
299,300c339,340
< * DESCRIPTION: Unload an ACPI table.
< * Instance is not implemented
---
> * DESCRIPTION: Unload an ACPI table, via any namespace node that is owned
> * by the table.
306,307c346
< char *TableArg,
< char *InstanceArg)
---
> char *ObjectName)
309,312c348
< /* TBD: Need to reimplement for new data structures */
<
< #if 0
< UINT32 i;
---
> ACPI_NAMESPACE_NODE *Node;
316c352
< /* Search all tables for the target type */
---
> /* Translate name to an Named object */
318c354,355
< for (i = 0; i < (ACPI_TABLE_ID_MAX+1); i++)
---
> Node = AcpiDbConvertToNode (ObjectName);
> if (!Node)
320,337c357,359
< if (!ACPI_STRNCMP (TableArg, AcpiGbl_TableData[i].Signature,
< AcpiGbl_TableData[i].SigLength))
< {
< /* Found the table, unload it */
<
< Status = AcpiUnloadTable (i);
< if (ACPI_SUCCESS (Status))
< {
< AcpiOsPrintf ("[%s] unloaded and uninstalled\n", TableArg);
< }
< else
< {
< AcpiOsPrintf ("%s, while unloading [%s]\n",
< AcpiFormatException (Status), TableArg);
< }
<
< return;
< }
---
> AcpiOsPrintf ("Could not find [%s] in namespace\n",
> ObjectName);
> return;
340,341c362,372
< AcpiOsPrintf ("Unknown table type [%s]\n", TableArg);
< #endif
---
> Status = AcpiUnloadParentTable (ACPI_CAST_PTR (ACPI_HANDLE, Node));
> if (ACPI_SUCCESS (Status))
> {
> AcpiOsPrintf ("Parent of [%s] (%p) unloaded and uninstalled\n",
> ObjectName, Node);
> }
> else
> {
> AcpiOsPrintf ("%s, while unloading parent table of [%s]\n",
> AcpiFormatException (Status), ObjectName);
> }