nsdumpdv.c revision 306536
1178825Sdfr/****************************************************************************** 2178825Sdfr * 3178825Sdfr * Module Name: nsdump - table dumping routines for debug 4178825Sdfr * 5178825Sdfr *****************************************************************************/ 6178825Sdfr 7178825Sdfr/* 8178825Sdfr * Copyright (C) 2000 - 2016, Intel Corp. 9178825Sdfr * All rights reserved. 10178825Sdfr * 11178825Sdfr * Redistribution and use in source and binary forms, with or without 12178825Sdfr * modification, are permitted provided that the following conditions 13178825Sdfr * are met: 14178825Sdfr * 1. Redistributions of source code must retain the above copyright 15178825Sdfr * notice, this list of conditions, and the following disclaimer, 16178825Sdfr * without modification. 17178825Sdfr * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18178825Sdfr * substantially similar to the "NO WARRANTY" disclaimer below 19178825Sdfr * ("Disclaimer") and any redistribution must be conditioned upon 20178825Sdfr * including a substantially similar Disclaimer requirement for further 21178825Sdfr * binary redistribution. 22178825Sdfr * 3. Neither the names of the above-listed copyright holders nor the names 23178825Sdfr * of any contributors may be used to endorse or promote products derived 24178825Sdfr * from this software without specific prior written permission. 25178825Sdfr * 26178825Sdfr * Alternatively, this software may be distributed under the terms of the 27178825Sdfr * GNU General Public License ("GPL") version 2 as published by the Free 28233294Sstas * Software Foundation. 29178825Sdfr * 30178825Sdfr * NO WARRANTY 31178825Sdfr * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32178825Sdfr * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33178825Sdfr * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34178825Sdfr * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35178825Sdfr * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36178825Sdfr * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37178825Sdfr * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38178825Sdfr * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39178825Sdfr * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40178825Sdfr * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41178825Sdfr * POSSIBILITY OF SUCH DAMAGES. 42178825Sdfr */ 43178825Sdfr 44178825Sdfr#include <contrib/dev/acpica/include/acpi.h> 45178825Sdfr 46178825Sdfr 47178825Sdfr/* TBD: This entire module is apparently obsolete and should be removed */ 48178825Sdfr 49178825Sdfr#define _COMPONENT ACPI_NAMESPACE 50178825Sdfr ACPI_MODULE_NAME ("nsdumpdv") 51178825Sdfr 52178825Sdfr#ifdef ACPI_OBSOLETE_FUNCTIONS 53178825Sdfr#if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER) 54178825Sdfr 55178825Sdfr#include <contrib/dev/acpica/include/acnamesp.h> 56178825Sdfr 57178825Sdfr/******************************************************************************* 58178825Sdfr * 59178825Sdfr * FUNCTION: AcpiNsDumpOneDevice 60178825Sdfr * 61178825Sdfr * PARAMETERS: Handle - Node to be dumped 62178825Sdfr * Level - Nesting level of the handle 63178825Sdfr * Context - Passed into WalkNamespace 64178825Sdfr * ReturnValue - Not used 65178825Sdfr * 66178825Sdfr * RETURN: Status 67178825Sdfr * 68178825Sdfr * DESCRIPTION: Dump a single Node that represents a device 69178825Sdfr * This procedure is a UserFunction called by AcpiNsWalkNamespace. 70178825Sdfr * 71178825Sdfr ******************************************************************************/ 72178825Sdfr 73178825Sdfrstatic ACPI_STATUS 74178825SdfrAcpiNsDumpOneDevice ( 75178825Sdfr ACPI_HANDLE ObjHandle, 76178825Sdfr UINT32 Level, 77178825Sdfr void *Context, 78178825Sdfr void **ReturnValue) 79178825Sdfr{ 80178825Sdfr ACPI_BUFFER Buffer; 81178825Sdfr ACPI_DEVICE_INFO *Info; 82178825Sdfr ACPI_STATUS Status; 83178825Sdfr UINT32 i; 84178825Sdfr 85178825Sdfr 86178825Sdfr ACPI_FUNCTION_NAME (NsDumpOneDevice); 87178825Sdfr 88178825Sdfr 89178825Sdfr Status = AcpiNsDumpOneObject (ObjHandle, Level, Context, ReturnValue); 90178825Sdfr 91178825Sdfr Buffer.Length = ACPI_ALLOCATE_LOCAL_BUFFER; 92178825Sdfr Status = AcpiGetObjectInfo (ObjHandle, &Buffer); 93178825Sdfr if (ACPI_SUCCESS (Status)) 94178825Sdfr { 95178825Sdfr Info = Buffer.Pointer; 96178825Sdfr for (i = 0; i < Level; i++) 97178825Sdfr { 98178825Sdfr ACPI_DEBUG_PRINT_RAW ((ACPI_DB_TABLES, " ")); 99178825Sdfr } 100178825Sdfr 101178825Sdfr ACPI_DEBUG_PRINT_RAW ((ACPI_DB_TABLES, 102178825Sdfr " HID: %s, ADR: %8.8X%8.8X, Status: %X\n", 103178825Sdfr Info->HardwareId.Value, ACPI_FORMAT_UINT64 (Info->Address), 104233294Sstas Info->CurrentStatus)); 105178825Sdfr ACPI_FREE (Info); 106178825Sdfr } 107178825Sdfr 108178825Sdfr return (Status); 109178825Sdfr} 110233294Sstas 111178825Sdfr 112178825Sdfr/******************************************************************************* 113178825Sdfr * 114178825Sdfr * FUNCTION: AcpiNsDumpRootDevices 115178825Sdfr * 116178825Sdfr * PARAMETERS: None 117178825Sdfr * 118178825Sdfr * RETURN: None 119178825Sdfr * 120178825Sdfr * DESCRIPTION: Dump all objects of type "device" 121178825Sdfr * 122178825Sdfr ******************************************************************************/ 123178825Sdfr 124178825Sdfrvoid 125178825SdfrAcpiNsDumpRootDevices ( 126178825Sdfr void) 127178825Sdfr{ 128178825Sdfr ACPI_HANDLE SysBusHandle; 129178825Sdfr ACPI_STATUS Status; 130178825Sdfr 131178825Sdfr 132178825Sdfr ACPI_FUNCTION_NAME (NsDumpRootDevices); 133178825Sdfr 134178825Sdfr 135178825Sdfr /* Only dump the table if tracing is enabled */ 136178825Sdfr 137178825Sdfr if (!(ACPI_LV_TABLES & AcpiDbgLevel)) 138178825Sdfr { 139178825Sdfr return; 140178825Sdfr } 141178825Sdfr 142178825Sdfr Status = AcpiGetHandle (NULL, METHOD_NAME__SB_, &SysBusHandle); 143178825Sdfr if (ACPI_FAILURE (Status)) 144178825Sdfr { 145178825Sdfr return; 146178825Sdfr } 147178825Sdfr 148178825Sdfr ACPI_DEBUG_PRINT ((ACPI_DB_TABLES, 149178825Sdfr "Display of all devices in the namespace:\n")); 150178825Sdfr 151178825Sdfr Status = AcpiNsWalkNamespace (ACPI_TYPE_DEVICE, SysBusHandle, 152178825Sdfr ACPI_UINT32_MAX, ACPI_NS_WALK_NO_UNLOCK, 153178825Sdfr AcpiNsDumpOneDevice, NULL, NULL, NULL); 154178825Sdfr} 155178825Sdfr 156178825Sdfr#endif 157178825Sdfr#endif 158178825Sdfr