rsdump.c revision 193335
1145132Sanholt/******************************************************************************* 2145132Sanholt * 3145132Sanholt * Module Name: rsdump - Functions to display the resource structures. 4145132Sanholt * 5145132Sanholt ******************************************************************************/ 6145132Sanholt 7145132Sanholt/****************************************************************************** 8145132Sanholt * 9145132Sanholt * 1. Copyright Notice 10145132Sanholt * 11145132Sanholt * Some or all of this work - Copyright (c) 1999 - 2009, Intel Corp. 12145132Sanholt * All rights reserved. 13145132Sanholt * 14145132Sanholt * 2. License 15145132Sanholt * 16145132Sanholt * 2.1. This is your license from Intel Corp. under its intellectual property 17145132Sanholt * rights. You may have additional license terms from the party that provided 18145132Sanholt * you this software, covering your right to use that party's intellectual 19145132Sanholt * property rights. 20145132Sanholt * 21145132Sanholt * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 22145132Sanholt * copy of the source code appearing in this file ("Covered Code") an 23145132Sanholt * irrevocable, perpetual, worldwide license under Intel's copyrights in the 24145132Sanholt * base code distributed originally by Intel ("Original Intel Code") to copy, 25145132Sanholt * make derivatives, distribute, use and display any portion of the Covered 26145132Sanholt * Code in any form, with the right to sublicense such rights; and 27145132Sanholt * 28145132Sanholt * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 29145132Sanholt * license (with the right to sublicense), under only those claims of Intel 30145132Sanholt * patents that are infringed by the Original Intel Code, to make, use, sell, 31152909Sanholt * offer to sell, and import the Covered Code and derivative works thereof 32152909Sanholt * solely to the minimum extent necessary to exercise the above copyright 33152909Sanholt * license, and in no event shall the patent license extend to any additions 34182080Srnoland * to or modifications of the Original Intel Code. No other license or right 35182080Srnoland * is granted directly or by implication, estoppel or otherwise; 36182080Srnoland * 37182080Srnoland * The above copyright and patent license is granted only if the following 38182080Srnoland * conditions are met: 39182080Srnoland * 40182080Srnoland * 3. Conditions 41145132Sanholt * 42145132Sanholt * 3.1. Redistribution of Source with Rights to Further Distribute Source. 43152909Sanholt * Redistribution of source code of any substantial portion of the Covered 44145132Sanholt * Code or modification with rights to further distribute source must include 45153013Sanholt * the above Copyright Notice, the above License, this list of Conditions, 46153013Sanholt * and the following Disclaimer and Export Compliance provision. In addition, 47153013Sanholt * Licensee must cause all Covered Code to which Licensee contributes to 48145132Sanholt * contain a file documenting the changes Licensee made to create that Covered 49153013Sanholt * Code and the date of any change. Licensee must include in that file the 50145132Sanholt * documentation of any changes made by any predecessor Licensee. Licensee 51182080Srnoland * must include a prominent statement that the modification is derived, 52182080Srnoland * directly or indirectly, from Original Intel Code. 53152909Sanholt * 54152909Sanholt * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 55145132Sanholt * Redistribution of source code of any substantial portion of the Covered 56145132Sanholt * Code or modification without rights to further distribute source must 57145132Sanholt * include the following Disclaimer and Export Compliance provision in the 58145132Sanholt * documentation and/or other materials provided with distribution. In 59145132Sanholt * addition, Licensee may not authorize further sublicense of source of any 60145132Sanholt * portion of the Covered Code, and must include terms to the effect that the 61145132Sanholt * license from Licensee to its licensee is limited to the intellectual 62182080Srnoland * property embodied in the software Licensee provides to its licensee, and 63182080Srnoland * not to intellectual property embodied in modifications its licensee may 64182080Srnoland * make. 65182080Srnoland * 66182080Srnoland * 3.3. Redistribution of Executable. Redistribution in executable form of any 67182080Srnoland * substantial portion of the Covered Code or modification must reproduce the 68182080Srnoland * above Copyright Notice, and the following Disclaimer and Export Compliance 69182080Srnoland * provision in the documentation and/or other materials provided with the 70145132Sanholt * distribution. 71182080Srnoland * 72182080Srnoland * 3.4. Intel retains all right, title, and interest in and to the Original 73182080Srnoland * Intel Code. 74182080Srnoland * 75145132Sanholt * 3.5. Neither the name Intel nor any other trademark owned or controlled by 76182080Srnoland * Intel shall be used in advertising or otherwise to promote the sale, use or 77182080Srnoland * other dealings in products derived from or relating to the Covered Code 78145132Sanholt * without prior written authorization from Intel. 79182080Srnoland * 80182080Srnoland * 4. Disclaimer and Export Compliance 81145132Sanholt * 82189099Srnoland * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 83182080Srnoland * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 84182080Srnoland * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 85182080Srnoland * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 86182080Srnoland * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 87182080Srnoland * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 88182080Srnoland * PARTICULAR PURPOSE. 89145132Sanholt * 90182080Srnoland * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 91182080Srnoland * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 92145132Sanholt * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 93182080Srnoland * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 94182080Srnoland * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 95189099Srnoland * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 96182080Srnoland * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 97145132Sanholt * LIMITED REMEDY. 98189099Srnoland * 99189099Srnoland * 4.3. Licensee shall not export, either directly or indirectly, any of this 100182080Srnoland * software or system incorporating such software without first obtaining any 101182080Srnoland * required license or other approval from the U. S. Department of Commerce or 102182080Srnoland * any other agency or department of the United States Government. In the 103182080Srnoland * event Licensee exports any such software from the United States or 104145132Sanholt * re-exports any such software from a foreign destination, Licensee shall 105182080Srnoland * ensure that the distribution and export/re-export of the software is in 106145132Sanholt * compliance with all laws, regulations, orders, or other restrictions of the 107182080Srnoland * U.S. Export Administration Regulations. Licensee agrees that neither it nor 108182080Srnoland * any of its subsidiaries will export/re-export any technical data, process, 109182080Srnoland * software, or service, directly or indirectly, to any country for which the 110182080Srnoland * United States government or any agency thereof requires an export license, 111182080Srnoland * other governmental approval, or letter of assurance, without first obtaining 112182080Srnoland * such license, approval or letter. 113182080Srnoland * 114182080Srnoland *****************************************************************************/ 115145132Sanholt 116182080Srnoland 117182080Srnoland#define __RSDUMP_C__ 118182080Srnoland 119182080Srnoland#include "acpi.h" 120182080Srnoland#include "accommon.h" 121145132Sanholt#include "acresrc.h" 122145132Sanholt 123145132Sanholt#define _COMPONENT ACPI_RESOURCES 124145132Sanholt ACPI_MODULE_NAME ("rsdump") 125145132Sanholt 126145132Sanholt 127145132Sanholt#if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER) 128145132Sanholt 129145132Sanholt/* Local prototypes */ 130145132Sanholt 131189053Srnolandstatic void 132145132SanholtAcpiRsOutString ( 133145132Sanholt char *Title, 134191274Srnoland char *Value); 135189128Srnoland 136196466Srnolandstatic void 137196466SrnolandAcpiRsOutInteger8 ( 138196466Srnoland char *Title, 139189128Srnoland UINT8 Value); 140189052Srnoland 141189052Srnolandstatic void 142189052SrnolandAcpiRsOutInteger16 ( 143189052Srnoland char *Title, 144189052Srnoland UINT16 Value); 145189052Srnoland 146189052Srnolandstatic void 147189052SrnolandAcpiRsOutInteger32 ( 148189052Srnoland char *Title, 149189052Srnoland UINT32 Value); 150189052Srnoland 151189052Srnolandstatic void 152189052SrnolandAcpiRsOutInteger64 ( 153189052Srnoland char *Title, 154189052Srnoland UINT64 Value); 155189052Srnoland 156189052Srnolandstatic void 157189052SrnolandAcpiRsOutTitle ( 158189052Srnoland char *Title); 159189052Srnoland 160189052Srnolandstatic void 161189563SrnolandAcpiRsDumpByteList ( 162145132Sanholt UINT16 Length, 163152909Sanholt UINT8 *Data); 164145132Sanholt 165153579Sjhbstatic void 166153033SanholtAcpiRsDumpDwordList ( 167145132Sanholt UINT8 Length, 168189563Srnoland UINT32 *Data); 169189563Srnoland 170153033Sanholtstatic void 171189563SrnolandAcpiRsDumpShortByteList ( 172153033Sanholt UINT8 Length, 173153033Sanholt UINT8 *Data); 174153579Sjhb 175189563Srnolandstatic void 176189563SrnolandAcpiRsDumpResourceSource ( 177153579Sjhb ACPI_RESOURCE_SOURCE *ResourceSource); 178145132Sanholt 179189563Srnolandstatic void 180189563SrnolandAcpiRsDumpAddressCommon ( 181186299Srnoland ACPI_RESOURCE_DATA *Resource); 182186299Srnoland 183152909Sanholtstatic void 184152909SanholtAcpiRsDumpDescriptor ( 185189915Srnoland void *Resource, 186189915Srnoland ACPI_RSDUMP_INFO *Table); 187189915Srnoland 188189915Srnoland 189145132Sanholt#define ACPI_RSD_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_RESOURCE_DATA,f) 190145132Sanholt#define ACPI_PRT_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_PCI_ROUTING_TABLE,f) 191145132Sanholt#define ACPI_RSD_TABLE_SIZE(name) (sizeof(name) / sizeof (ACPI_RSDUMP_INFO)) 192145132Sanholt 193145132Sanholt 194145132Sanholt/******************************************************************************* 195189563Srnoland * 196145132Sanholt * Resource Descriptor info tables 197182080Srnoland * 198152909Sanholt * Note: The first table entry must be a Title or Literal and must contain 199189052Srnoland * the table length (number of table entries) 200152909Sanholt * 201189563Srnoland ******************************************************************************/ 202189563Srnoland 203152909SanholtACPI_RSDUMP_INFO AcpiRsDumpIrq[7] = 204153579Sjhb{ 205189563Srnoland {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpIrq), "IRQ", NULL}, 206189563Srnoland {ACPI_RSD_UINT8 , ACPI_RSD_OFFSET (Irq.DescriptorLength), "Descriptor Length", NULL}, 207152909Sanholt {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Irq.Triggering), "Triggering", AcpiGbl_HeDecode}, 208189563Srnoland {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Irq.Polarity), "Polarity", AcpiGbl_LlDecode}, 209153579Sjhb {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Irq.Sharable), "Sharing", AcpiGbl_ShrDecode}, 210189563Srnoland {ACPI_RSD_UINT8 , ACPI_RSD_OFFSET (Irq.InterruptCount), "Interrupt Count", NULL}, 211153579Sjhb {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Irq.Interrupts[0]), "Interrupt List", NULL} 212152909Sanholt}; 213196465Srnoland 214152909SanholtACPI_RSDUMP_INFO AcpiRsDumpDma[6] = 215152909Sanholt{ 216152909Sanholt {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpDma), "DMA", NULL}, 217152909Sanholt {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (Dma.Type), "Speed", AcpiGbl_TypDecode}, 218196465Srnoland {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Dma.BusMaster), "Mastering", AcpiGbl_BmDecode}, 219183573Srnoland {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (Dma.Transfer), "Transfer Type", AcpiGbl_SizDecode}, 220189052Srnoland {ACPI_RSD_UINT8, ACPI_RSD_OFFSET (Dma.ChannelCount), "Channel Count", NULL}, 221189052Srnoland {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Dma.Channels[0]), "Channel List", NULL} 222189052Srnoland}; 223189052Srnoland 224189052SrnolandACPI_RSDUMP_INFO AcpiRsDumpStartDpf[4] = 225189052Srnoland{ 226189052Srnoland {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpStartDpf), "Start-Dependent-Functions",NULL}, 227189052Srnoland {ACPI_RSD_UINT8 , ACPI_RSD_OFFSET (StartDpf.DescriptorLength), "Descriptor Length", NULL}, 228189052Srnoland {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (StartDpf.CompatibilityPriority), "Compatibility Priority", AcpiGbl_ConfigDecode}, 229189052Srnoland {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (StartDpf.PerformanceRobustness), "Performance/Robustness", AcpiGbl_ConfigDecode} 230189052Srnoland}; 231189052Srnoland 232191274SrnolandACPI_RSDUMP_INFO AcpiRsDumpEndDpf[1] = 233191274Srnoland{ 234191274Srnoland {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpEndDpf), "End-Dependent-Functions", NULL} 235191274Srnoland}; 236191274Srnoland 237191274SrnolandACPI_RSDUMP_INFO AcpiRsDumpIo[6] = 238191274Srnoland{ 239189052Srnoland {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpIo), "I/O", NULL}, 240191274Srnoland {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Io.IoDecode), "Address Decoding", AcpiGbl_IoDecode}, 241191274Srnoland {ACPI_RSD_UINT16, ACPI_RSD_OFFSET (Io.Minimum), "Address Minimum", NULL}, 242191274Srnoland {ACPI_RSD_UINT16, ACPI_RSD_OFFSET (Io.Maximum), "Address Maximum", NULL}, 243191274Srnoland {ACPI_RSD_UINT8, ACPI_RSD_OFFSET (Io.Alignment), "Alignment", NULL}, 244191274Srnoland {ACPI_RSD_UINT8, ACPI_RSD_OFFSET (Io.AddressLength), "Address Length", NULL} 245191274Srnoland}; 246189052Srnoland 247189052SrnolandACPI_RSDUMP_INFO AcpiRsDumpFixedIo[3] = 248191274Srnoland{ 249191274Srnoland {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpFixedIo), "Fixed I/O", NULL}, 250191274Srnoland {ACPI_RSD_UINT16, ACPI_RSD_OFFSET (FixedIo.Address), "Address", NULL}, 251191274Srnoland {ACPI_RSD_UINT8, ACPI_RSD_OFFSET (FixedIo.AddressLength), "Address Length", NULL} 252191274Srnoland}; 253191274Srnoland 254191274SrnolandACPI_RSDUMP_INFO AcpiRsDumpVendor[3] = 255189052Srnoland{ 256189052Srnoland {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpVendor), "Vendor Specific", NULL}, 257182080Srnoland {ACPI_RSD_UINT16, ACPI_RSD_OFFSET (Vendor.ByteLength), "Length", NULL}, 258182080Srnoland {ACPI_RSD_LONGLIST, ACPI_RSD_OFFSET (Vendor.ByteData[0]), "Vendor Data", NULL} 259182080Srnoland}; 260182080Srnoland 261152909SanholtACPI_RSDUMP_INFO AcpiRsDumpEndTag[1] = 262189052Srnoland{ 263189052Srnoland {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpEndTag), "EndTag", NULL} 264152909Sanholt}; 265152909Sanholt 266152909SanholtACPI_RSDUMP_INFO AcpiRsDumpMemory24[6] = 267145132Sanholt{ 268145132Sanholt {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpMemory24), "24-Bit Memory Range", NULL}, 269189563Srnoland {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Memory24.WriteProtect), "Write Protect", AcpiGbl_RwDecode}, 270145132Sanholt {ACPI_RSD_UINT16, ACPI_RSD_OFFSET (Memory24.Minimum), "Address Minimum", NULL}, 271189052Srnoland {ACPI_RSD_UINT16, ACPI_RSD_OFFSET (Memory24.Maximum), "Address Maximum", NULL}, 272189052Srnoland {ACPI_RSD_UINT16, ACPI_RSD_OFFSET (Memory24.Alignment), "Alignment", NULL}, 273189563Srnoland {ACPI_RSD_UINT16, ACPI_RSD_OFFSET (Memory24.AddressLength), "Address Length", NULL} 274189052Srnoland}; 275189052Srnoland 276189052SrnolandACPI_RSDUMP_INFO AcpiRsDumpMemory32[6] = 277194749Srnoland{ 278194749Srnoland {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpMemory32), "32-Bit Memory Range", NULL}, 279194749Srnoland {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Memory32.WriteProtect), "Write Protect", AcpiGbl_RwDecode}, 280189052Srnoland {ACPI_RSD_UINT32, ACPI_RSD_OFFSET (Memory32.Minimum), "Address Minimum", NULL}, 281194749Srnoland {ACPI_RSD_UINT32, ACPI_RSD_OFFSET (Memory32.Maximum), "Address Maximum", NULL}, 282194749Srnoland {ACPI_RSD_UINT32, ACPI_RSD_OFFSET (Memory32.Alignment), "Alignment", NULL}, 283194749Srnoland {ACPI_RSD_UINT32, ACPI_RSD_OFFSET (Memory32.AddressLength), "Address Length", NULL} 284194749Srnoland}; 285189052Srnoland 286189052SrnolandACPI_RSDUMP_INFO AcpiRsDumpFixedMemory32[4] = 287145132Sanholt{ 288145132Sanholt {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpFixedMemory32), "32-Bit Fixed Memory Range",NULL}, 289145132Sanholt {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (FixedMemory32.WriteProtect), "Write Protect", AcpiGbl_RwDecode}, 290145132Sanholt {ACPI_RSD_UINT32, ACPI_RSD_OFFSET (FixedMemory32.Address), "Address", NULL}, 291145132Sanholt {ACPI_RSD_UINT32, ACPI_RSD_OFFSET (FixedMemory32.AddressLength), "Address Length", NULL} 292145132Sanholt}; 293145132Sanholt 294145132SanholtACPI_RSDUMP_INFO AcpiRsDumpAddress16[8] = 295145132Sanholt{ 296152909Sanholt {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpAddress16), "16-Bit WORD Address Space",NULL}, 297152909Sanholt {ACPI_RSD_ADDRESS, 0, NULL, NULL}, 298152909Sanholt {ACPI_RSD_UINT16, ACPI_RSD_OFFSET (Address16.Granularity), "Granularity", NULL}, 299145132Sanholt {ACPI_RSD_UINT16, ACPI_RSD_OFFSET (Address16.Minimum), "Address Minimum", NULL}, 300145132Sanholt {ACPI_RSD_UINT16, ACPI_RSD_OFFSET (Address16.Maximum), "Address Maximum", NULL}, 301145132Sanholt {ACPI_RSD_UINT16, ACPI_RSD_OFFSET (Address16.TranslationOffset), "Translation Offset", NULL}, 302145132Sanholt {ACPI_RSD_UINT16, ACPI_RSD_OFFSET (Address16.AddressLength), "Address Length", NULL}, 303189915Srnoland {ACPI_RSD_SOURCE, ACPI_RSD_OFFSET (Address16.ResourceSource), NULL, NULL} 304189915Srnoland}; 305152909Sanholt 306145132SanholtACPI_RSDUMP_INFO AcpiRsDumpAddress32[8] = 307145132Sanholt{ 308145132Sanholt {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpAddress32), "32-Bit DWORD Address Space", NULL}, 309145132Sanholt {ACPI_RSD_ADDRESS, 0, NULL, NULL}, 310145132Sanholt {ACPI_RSD_UINT32, ACPI_RSD_OFFSET (Address32.Granularity), "Granularity", NULL}, 311182080Srnoland {ACPI_RSD_UINT32, ACPI_RSD_OFFSET (Address32.Minimum), "Address Minimum", NULL}, 312145132Sanholt {ACPI_RSD_UINT32, ACPI_RSD_OFFSET (Address32.Maximum), "Address Maximum", NULL}, 313152909Sanholt {ACPI_RSD_UINT32, ACPI_RSD_OFFSET (Address32.TranslationOffset), "Translation Offset", NULL}, 314145132Sanholt {ACPI_RSD_UINT32, ACPI_RSD_OFFSET (Address32.AddressLength), "Address Length", NULL}, 315145132Sanholt {ACPI_RSD_SOURCE, ACPI_RSD_OFFSET (Address32.ResourceSource), NULL, NULL} 316145132Sanholt}; 317145132Sanholt 318152909SanholtACPI_RSDUMP_INFO AcpiRsDumpAddress64[8] = 319152909Sanholt{ 320183573Srnoland {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpAddress64), "64-Bit QWORD Address Space", NULL}, 321152909Sanholt {ACPI_RSD_ADDRESS, 0, NULL, NULL}, 322152909Sanholt {ACPI_RSD_UINT64, ACPI_RSD_OFFSET (Address64.Granularity), "Granularity", NULL}, 323145132Sanholt {ACPI_RSD_UINT64, ACPI_RSD_OFFSET (Address64.Minimum), "Address Minimum", NULL}, 324183573Srnoland {ACPI_RSD_UINT64, ACPI_RSD_OFFSET (Address64.Maximum), "Address Maximum", NULL}, 325183573Srnoland {ACPI_RSD_UINT64, ACPI_RSD_OFFSET (Address64.TranslationOffset), "Translation Offset", NULL}, 326152909Sanholt {ACPI_RSD_UINT64, ACPI_RSD_OFFSET (Address64.AddressLength), "Address Length", NULL}, 327145132Sanholt {ACPI_RSD_SOURCE, ACPI_RSD_OFFSET (Address64.ResourceSource), NULL, NULL} 328145132Sanholt}; 329183573Srnoland 330145132SanholtACPI_RSDUMP_INFO AcpiRsDumpExtAddress64[8] = 331145132Sanholt{ 332145132Sanholt {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpExtAddress64), "64-Bit Extended Address Space", NULL}, 333145132Sanholt {ACPI_RSD_ADDRESS, 0, NULL, NULL}, 334145132Sanholt {ACPI_RSD_UINT64, ACPI_RSD_OFFSET (ExtAddress64.Granularity), "Granularity", NULL}, 335183573Srnoland {ACPI_RSD_UINT64, ACPI_RSD_OFFSET (ExtAddress64.Minimum), "Address Minimum", NULL}, 336145132Sanholt {ACPI_RSD_UINT64, ACPI_RSD_OFFSET (ExtAddress64.Maximum), "Address Maximum", NULL}, 337145132Sanholt {ACPI_RSD_UINT64, ACPI_RSD_OFFSET (ExtAddress64.TranslationOffset), "Translation Offset", NULL}, 338145132Sanholt {ACPI_RSD_UINT64, ACPI_RSD_OFFSET (ExtAddress64.AddressLength), "Address Length", NULL}, 339145132Sanholt {ACPI_RSD_UINT64, ACPI_RSD_OFFSET (ExtAddress64.TypeSpecific), "Type-Specific Attribute", NULL} 340145132Sanholt}; 341145132Sanholt 342145132SanholtACPI_RSDUMP_INFO AcpiRsDumpExtIrq[8] = 343145132Sanholt{ 344145132Sanholt {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpExtIrq), "Extended IRQ", NULL}, 345145132Sanholt {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (ExtendedIrq.ProducerConsumer), "Type", AcpiGbl_ConsumeDecode}, 346145132Sanholt {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (ExtendedIrq.Triggering), "Triggering", AcpiGbl_HeDecode}, 347145132Sanholt {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (ExtendedIrq.Polarity), "Polarity", AcpiGbl_LlDecode}, 348183573Srnoland {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (ExtendedIrq.Sharable), "Sharing", AcpiGbl_ShrDecode}, 349145132Sanholt {ACPI_RSD_SOURCE, ACPI_RSD_OFFSET (ExtendedIrq.ResourceSource), NULL, NULL}, 350145132Sanholt {ACPI_RSD_UINT8, ACPI_RSD_OFFSET (ExtendedIrq.InterruptCount), "Interrupt Count", NULL}, 351145132Sanholt {ACPI_RSD_DWORDLIST,ACPI_RSD_OFFSET (ExtendedIrq.Interrupts[0]), "Interrupt List", NULL} 352145132Sanholt}; 353182080Srnoland 354145132SanholtACPI_RSDUMP_INFO AcpiRsDumpGenericReg[6] = 355145132Sanholt{ 356145132Sanholt {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpGenericReg), "Generic Register", NULL}, 357145132Sanholt {ACPI_RSD_UINT8, ACPI_RSD_OFFSET (GenericReg.SpaceId), "Space ID", NULL}, 358145132Sanholt {ACPI_RSD_UINT8, ACPI_RSD_OFFSET (GenericReg.BitWidth), "Bit Width", NULL}, 359145132Sanholt {ACPI_RSD_UINT8, ACPI_RSD_OFFSET (GenericReg.BitOffset), "Bit Offset", NULL}, 360145132Sanholt {ACPI_RSD_UINT8, ACPI_RSD_OFFSET (GenericReg.AccessSize), "Access Size", NULL}, 361183573Srnoland {ACPI_RSD_UINT64, ACPI_RSD_OFFSET (GenericReg.Address), "Address", NULL} 362145132Sanholt}; 363183573Srnoland 364183573Srnoland 365145132Sanholt/* 366145132Sanholt * Tables used for common address descriptor flag fields 367145132Sanholt */ 368145132Sanholtstatic ACPI_RSDUMP_INFO AcpiRsDumpGeneralFlags[5] = 369183573Srnoland{ 370183833Srnoland {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpGeneralFlags), NULL, NULL}, 371145132Sanholt {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Address.ProducerConsumer), "Consumer/Producer", AcpiGbl_ConsumeDecode}, 372145132Sanholt {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Address.Decode), "Address Decode", AcpiGbl_DecDecode}, 373145132Sanholt {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Address.MinAddressFixed), "Min Relocatability", AcpiGbl_MinDecode}, 374183573Srnoland {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Address.MaxAddressFixed), "Max Relocatability", AcpiGbl_MaxDecode} 375183573Srnoland}; 376183573Srnoland 377145132Sanholtstatic ACPI_RSDUMP_INFO AcpiRsDumpMemoryFlags[5] = 378183833Srnoland{ 379145132Sanholt {ACPI_RSD_LITERAL, ACPI_RSD_TABLE_SIZE (AcpiRsDumpMemoryFlags), "Resource Type", (void *) "Memory Range"}, 380145132Sanholt {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Address.Info.Mem.WriteProtect), "Write Protect", AcpiGbl_RwDecode}, 381145132Sanholt {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (Address.Info.Mem.Caching), "Caching", AcpiGbl_MemDecode}, 382145132Sanholt {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (Address.Info.Mem.RangeType), "Range Type", AcpiGbl_MtpDecode}, 383182467Srnoland {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Address.Info.Mem.Translation), "Translation", AcpiGbl_TtpDecode} 384182080Srnoland}; 385182467Srnoland 386182080Srnolandstatic ACPI_RSDUMP_INFO AcpiRsDumpIoFlags[4] = 387183573Srnoland{ 388183573Srnoland {ACPI_RSD_LITERAL, ACPI_RSD_TABLE_SIZE (AcpiRsDumpIoFlags), "Resource Type", (void *) "I/O Range"}, 389145132Sanholt {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (Address.Info.Io.RangeType), "Range Type", AcpiGbl_RngDecode}, 390145132Sanholt {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Address.Info.Io.Translation), "Translation", AcpiGbl_TtpDecode}, 391145132Sanholt {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Address.Info.Io.TranslationType), "Translation Type", AcpiGbl_TrsDecode} 392152909Sanholt}; 393152909Sanholt 394152909Sanholt 395183573Srnoland/* 396145132Sanholt * Table used to dump _PRT contents 397183573Srnoland */ 398145132Sanholtstatic ACPI_RSDUMP_INFO AcpiRsDumpPrt[5] = 399145132Sanholt{ 400183833Srnoland {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpPrt), NULL, NULL}, 401145132Sanholt {ACPI_RSD_UINT64, ACPI_PRT_OFFSET (Address), "Address", NULL}, 402145132Sanholt {ACPI_RSD_UINT32, ACPI_PRT_OFFSET (Pin), "Pin", NULL}, 403145132Sanholt {ACPI_RSD_STRING, ACPI_PRT_OFFSET (Source[0]), "Source", NULL}, 404145132Sanholt {ACPI_RSD_UINT32, ACPI_PRT_OFFSET (SourceIndex), "Source Index", NULL} 405152909Sanholt}; 406145132Sanholt 407145132Sanholt 408145132Sanholt/******************************************************************************* 409145132Sanholt * 410145132Sanholt * FUNCTION: AcpiRsDumpDescriptor 411145132Sanholt * 412145132Sanholt * PARAMETERS: Resource 413145132Sanholt * 414145132Sanholt * RETURN: None 415145132Sanholt * 416182080Srnoland * DESCRIPTION: 417182080Srnoland * 418145132Sanholt ******************************************************************************/ 419145132Sanholt 420145132Sanholtstatic void 421183573SrnolandAcpiRsDumpDescriptor ( 422145132Sanholt void *Resource, 423182080Srnoland ACPI_RSDUMP_INFO *Table) 424145132Sanholt{ 425145132Sanholt UINT8 *Target = NULL; 426145132Sanholt UINT8 *PreviousTarget; 427145132Sanholt char *Name; 428145132Sanholt UINT8 Count; 429145132Sanholt 430182080Srnoland 431145132Sanholt /* First table entry must contain the table length (# of table entries) */ 432182080Srnoland 433152909Sanholt Count = Table->Offset; 434183573Srnoland 435145132Sanholt while (Count) 436145132Sanholt { 437207066Srnoland PreviousTarget = Target; 438207066Srnoland Target = ACPI_ADD_PTR (UINT8, Resource, Table->Offset); 439207066Srnoland Name = Table->Name; 440207066Srnoland 441207066Srnoland switch (Table->Opcode) 442145132Sanholt { 443207066Srnoland case ACPI_RSD_TITLE: 444145132Sanholt /* 445145132Sanholt * Optional resource title 446145132Sanholt */ 447145132Sanholt if (Table->Name) 448182080Srnoland { 449182080Srnoland AcpiOsPrintf ("%s Resource\n", Name); 450182080Srnoland } 451182080Srnoland break; 452182080Srnoland 453182080Srnoland /* Strings */ 454182080Srnoland 455182080Srnoland case ACPI_RSD_LITERAL: 456183573Srnoland AcpiRsOutString (Name, ACPI_CAST_PTR (char, Table->Pointer)); 457183573Srnoland break; 458182080Srnoland 459183573Srnoland case ACPI_RSD_STRING: 460152909Sanholt AcpiRsOutString (Name, ACPI_CAST_PTR (char, Target)); 461182080Srnoland break; 462183573Srnoland 463182080Srnoland /* Data items, 8/16/32/64 bit */ 464182080Srnoland 465182080Srnoland case ACPI_RSD_UINT8: 466152909Sanholt AcpiRsOutInteger8 (Name, ACPI_GET8 (Target)); 467145132Sanholt break; 468145132Sanholt 469145132Sanholt case ACPI_RSD_UINT16: 470145132Sanholt AcpiRsOutInteger16 (Name, ACPI_GET16 (Target)); 471183573Srnoland break; 472145132Sanholt 473145132Sanholt case ACPI_RSD_UINT32: 474183573Srnoland AcpiRsOutInteger32 (Name, ACPI_GET32 (Target)); 475183573Srnoland break; 476145132Sanholt 477145132Sanholt case ACPI_RSD_UINT64: 478182080Srnoland AcpiRsOutInteger64 (Name, ACPI_GET64 (Target)); 479145132Sanholt break; 480145132Sanholt 481215367Snwhitehorn /* Flags: 1-bit and 2-bit flags supported */ 482145132Sanholt 483145132Sanholt case ACPI_RSD_1BITFLAG: 484145132Sanholt AcpiRsOutString (Name, ACPI_CAST_PTR (char, 485145132Sanholt Table->Pointer [*Target & 0x01])); 486145132Sanholt break; 487145132Sanholt 488145132Sanholt case ACPI_RSD_2BITFLAG: 489145132Sanholt AcpiRsOutString (Name, ACPI_CAST_PTR (char, 490145132Sanholt Table->Pointer [*Target & 0x03])); 491145132Sanholt break; 492145132Sanholt 493182080Srnoland case ACPI_RSD_SHORTLIST: 494182080Srnoland /* 495182080Srnoland * Short byte list (single line output) for DMA and IRQ resources 496182080Srnoland * Note: The list length is obtained from the previous table entry 497182080Srnoland */ 498182080Srnoland if (PreviousTarget) 499182080Srnoland { 500152909Sanholt AcpiRsOutTitle (Name); 501183573Srnoland AcpiRsDumpShortByteList (*PreviousTarget, Target); 502183573Srnoland } 503183573Srnoland break; 504183573Srnoland 505183573Srnoland case ACPI_RSD_LONGLIST: 506145132Sanholt /* 507145132Sanholt * Long byte list for Vendor resource data 508145132Sanholt * Note: The list length is obtained from the previous table entry 509145132Sanholt */ 510145132Sanholt if (PreviousTarget) 511145132Sanholt { 512152909Sanholt AcpiRsDumpByteList (ACPI_GET16 (PreviousTarget), Target); 513145132Sanholt } 514145132Sanholt break; 515183573Srnoland 516182080Srnoland case ACPI_RSD_DWORDLIST: 517182080Srnoland /* 518182080Srnoland * Dword list for Extended Interrupt resources 519145132Sanholt * Note: The list length is obtained from the previous table entry 520183573Srnoland */ 521145132Sanholt if (PreviousTarget) 522145132Sanholt { 523145132Sanholt AcpiRsDumpDwordList (*PreviousTarget, 524182080Srnoland ACPI_CAST_PTR (UINT32, Target)); 525145132Sanholt } 526152909Sanholt break; 527145132Sanholt 528183573Srnoland case ACPI_RSD_ADDRESS: 529145132Sanholt /* 530145132Sanholt * Common flags for all Address resources 531145132Sanholt */ 532145132Sanholt AcpiRsDumpAddressCommon (ACPI_CAST_PTR (ACPI_RESOURCE_DATA, Target)); 533145132Sanholt break; 534145132Sanholt 535145132Sanholt case ACPI_RSD_SOURCE: 536145132Sanholt /* 537145132Sanholt * Optional ResourceSource for Address resources 538152909Sanholt */ 539145132Sanholt AcpiRsDumpResourceSource (ACPI_CAST_PTR (ACPI_RESOURCE_SOURCE, Target)); 540145132Sanholt break; 541145132Sanholt 542145132Sanholt default: 543189130Srnoland AcpiOsPrintf ("**** Invalid table opcode [%X] ****\n", 544189130Srnoland Table->Opcode); 545145132Sanholt return; 546152909Sanholt } 547145132Sanholt 548145132Sanholt Table++; 549152909Sanholt Count--; 550152909Sanholt } 551152909Sanholt} 552152909Sanholt 553152909Sanholt 554152909Sanholt/******************************************************************************* 555152909Sanholt * 556152909Sanholt * FUNCTION: AcpiRsDumpResourceSource 557152909Sanholt * 558152909Sanholt * PARAMETERS: ResourceSource - Pointer to a Resource Source struct 559152909Sanholt * 560145132Sanholt * RETURN: None 561145132Sanholt * 562183573Srnoland * DESCRIPTION: Common routine for dumping the optional ResourceSource and the 563183833Srnoland * corresponding ResourceSourceIndex. 564145132Sanholt * 565145132Sanholt ******************************************************************************/ 566145132Sanholt 567183573Srnolandstatic void 568182468SrnolandAcpiRsDumpResourceSource ( 569183573Srnoland ACPI_RESOURCE_SOURCE *ResourceSource) 570182468Srnoland{ 571182468Srnoland ACPI_FUNCTION_ENTRY (); 572145132Sanholt 573182080Srnoland 574207066Srnoland if (ResourceSource->Index == 0xFF) 575182080Srnoland { 576145132Sanholt return; 577182080Srnoland } 578182080Srnoland 579182080Srnoland AcpiRsOutInteger8 ("Resource Source Index", 580182080Srnoland ResourceSource->Index); 581182080Srnoland 582182080Srnoland AcpiRsOutString ("Resource Source", 583182080Srnoland ResourceSource->StringPtr ? 584145132Sanholt ResourceSource->StringPtr : "[Not Specified]"); 585145132Sanholt} 586145132Sanholt 587182080Srnoland 588145132Sanholt/******************************************************************************* 589183573Srnoland * 590145132Sanholt * FUNCTION: AcpiRsDumpAddressCommon 591145132Sanholt * 592145132Sanholt * PARAMETERS: Resource - Pointer to an internal resource descriptor 593145132Sanholt * 594145132Sanholt * RETURN: None 595145132Sanholt * 596145132Sanholt * DESCRIPTION: Dump the fields that are common to all Address resource 597145132Sanholt * descriptors 598182080Srnoland * 599145132Sanholt ******************************************************************************/ 600145132Sanholt 601183573Srnolandstatic void 602183573SrnolandAcpiRsDumpAddressCommon ( 603183573Srnoland ACPI_RESOURCE_DATA *Resource) 604145132Sanholt{ 605183573Srnoland ACPI_FUNCTION_ENTRY (); 606183573Srnoland 607183573Srnoland 608145132Sanholt /* Decode the type-specific flags */ 609145132Sanholt 610145132Sanholt switch (Resource->Address.ResourceType) 611145132Sanholt { 612145132Sanholt case ACPI_MEMORY_RANGE: 613145132Sanholt 614182080Srnoland AcpiRsDumpDescriptor (Resource, AcpiRsDumpMemoryFlags); 615145132Sanholt break; 616145132Sanholt 617196465Srnoland case ACPI_IO_RANGE: 618145132Sanholt 619183573Srnoland AcpiRsDumpDescriptor (Resource, AcpiRsDumpIoFlags); 620145132Sanholt break; 621145132Sanholt 622145132Sanholt case ACPI_BUS_NUMBER_RANGE: 623183573Srnoland 624183573Srnoland AcpiRsOutString ("Resource Type", "Bus Number Range"); 625145132Sanholt break; 626145132Sanholt 627183573Srnoland default: 628152909Sanholt 629145132Sanholt AcpiRsOutInteger8 ("Resource Type", 630145132Sanholt (UINT8) Resource->Address.ResourceType); 631145132Sanholt break; 632145132Sanholt } 633145132Sanholt 634145132Sanholt /* Decode the general flags */ 635183573Srnoland 636145132Sanholt AcpiRsDumpDescriptor (Resource, AcpiRsDumpGeneralFlags); 637183573Srnoland} 638183573Srnoland 639145132Sanholt 640182080Srnoland/******************************************************************************* 641183573Srnoland * 642145132Sanholt * FUNCTION: AcpiRsDumpResourceList 643145132Sanholt * 644145132Sanholt * PARAMETERS: ResourceList - Pointer to a resource descriptor list 645183573Srnoland * 646183573Srnoland * RETURN: None 647145132Sanholt * 648145132Sanholt * DESCRIPTION: Dispatches the structure to the correct dump routine. 649145132Sanholt * 650145132Sanholt ******************************************************************************/ 651145132Sanholt 652183573Srnolandvoid 653183573SrnolandAcpiRsDumpResourceList ( 654145132Sanholt ACPI_RESOURCE *ResourceList) 655145132Sanholt{ 656182080Srnoland UINT32 Count = 0; 657145132Sanholt UINT32 Type; 658145132Sanholt 659145132Sanholt 660183573Srnoland ACPI_FUNCTION_ENTRY (); 661183573Srnoland 662145132Sanholt 663183573Srnoland if (!(AcpiDbgLevel & ACPI_LV_RESOURCES) || !( _COMPONENT & AcpiDbgLayer)) 664145132Sanholt { 665145132Sanholt return; 666145132Sanholt } 667145132Sanholt 668145132Sanholt /* Walk list and dump all resource descriptors (END_TAG terminates) */ 669145132Sanholt 670183573Srnoland do 671152909Sanholt { 672145132Sanholt AcpiOsPrintf ("\n[%02X] ", Count); 673145132Sanholt Count++; 674183573Srnoland 675145132Sanholt /* Validate Type before dispatch */ 676182080Srnoland 677145132Sanholt Type = ResourceList->Type; 678145132Sanholt if (Type > ACPI_RESOURCE_TYPE_MAX) 679183573Srnoland { 680182080Srnoland AcpiOsPrintf ( 681145132Sanholt "Invalid descriptor type (%X) in resource list\n", 682183573Srnoland ResourceList->Type); 683145132Sanholt return; 684145132Sanholt } 685183573Srnoland 686182080Srnoland /* Dump the resource descriptor */ 687189869Srnoland 688145132Sanholt AcpiRsDumpDescriptor (&ResourceList->Data, 689145132Sanholt AcpiGbl_DumpResourceDispatch[Type]); 690145132Sanholt 691145132Sanholt /* Point to the next resource structure */ 692183573Srnoland 693183573Srnoland ResourceList = ACPI_ADD_PTR (ACPI_RESOURCE, ResourceList, 694145132Sanholt ResourceList->Length); 695145132Sanholt 696145132Sanholt /* Exit when END_TAG descriptor is reached */ 697183573Srnoland 698183573Srnoland } while (Type != ACPI_RESOURCE_TYPE_END_TAG); 699182080Srnoland} 700145132Sanholt 701145132Sanholt 702145132Sanholt/******************************************************************************* 703183573Srnoland * 704183573Srnoland * FUNCTION: AcpiRsDumpIrqList 705182080Srnoland * 706183833Srnoland * PARAMETERS: RouteTable - Pointer to the routing table to dump. 707145132Sanholt * 708145132Sanholt * RETURN: None 709145132Sanholt * 710145132Sanholt * DESCRIPTION: Print IRQ routing table 711145132Sanholt * 712183573Srnoland ******************************************************************************/ 713145132Sanholt 714145132Sanholtvoid 715152909SanholtAcpiRsDumpIrqList ( 716145132Sanholt UINT8 *RouteTable) 717145132Sanholt{ 718145132Sanholt ACPI_PCI_ROUTING_TABLE *PrtElement; 719145132Sanholt UINT8 Count; 720145132Sanholt 721145132Sanholt 722145132Sanholt ACPI_FUNCTION_ENTRY (); 723145132Sanholt 724145132Sanholt 725145132Sanholt if (!(AcpiDbgLevel & ACPI_LV_RESOURCES) || !( _COMPONENT & AcpiDbgLayer)) 726182080Srnoland { 727145132Sanholt return; 728145132Sanholt } 729182080Srnoland 730145132Sanholt PrtElement = ACPI_CAST_PTR (ACPI_PCI_ROUTING_TABLE, RouteTable); 731145132Sanholt 732183573Srnoland /* Dump all table elements, Exit on zero length element */ 733145132Sanholt 734183573Srnoland for (Count = 0; PrtElement->Length; Count++) 735183573Srnoland { 736145132Sanholt AcpiOsPrintf ("\n[%02X] PCI IRQ Routing Table Package\n", Count); 737145132Sanholt AcpiRsDumpDescriptor (PrtElement, AcpiRsDumpPrt); 738145132Sanholt 739145132Sanholt PrtElement = ACPI_ADD_PTR (ACPI_PCI_ROUTING_TABLE, 740183573Srnoland PrtElement, PrtElement->Length); 741182080Srnoland } 742145132Sanholt} 743183573Srnoland 744182080Srnoland 745183573Srnoland/******************************************************************************* 746145132Sanholt * 747145132Sanholt * FUNCTION: AcpiRsOut* 748145132Sanholt * 749145132Sanholt * PARAMETERS: Title - Name of the resource field 750145132Sanholt * Value - Value of the resource field 751145132Sanholt * 752145132Sanholt * RETURN: None 753145132Sanholt * 754145132Sanholt * DESCRIPTION: Miscellaneous helper functions to consistently format the 755145132Sanholt * output of the resource dump routines 756145132Sanholt * 757145132Sanholt ******************************************************************************/ 758145132Sanholt 759145132Sanholtstatic void 760145132SanholtAcpiRsOutString ( 761145132Sanholt char *Title, 762145132Sanholt char *Value) 763145132Sanholt{ 764145132Sanholt AcpiOsPrintf ("%27s : %s", Title, Value); 765145132Sanholt if (!*Value) 766145132Sanholt { 767145132Sanholt AcpiOsPrintf ("[NULL NAMESTRING]"); 768145132Sanholt } 769145132Sanholt AcpiOsPrintf ("\n"); 770183573Srnoland} 771145132Sanholt 772183573Srnolandstatic void 773145132SanholtAcpiRsOutInteger8 ( 774145132Sanholt char *Title, 775183573Srnoland UINT8 Value) 776145132Sanholt{ 777145132Sanholt AcpiOsPrintf ("%27s : %2.2X\n", Title, Value); 778145132Sanholt} 779145132Sanholt 780145132Sanholtstatic void 781183573SrnolandAcpiRsOutInteger16 ( 782145132Sanholt char *Title, 783145132Sanholt UINT16 Value) 784182080Srnoland{ 785152909Sanholt AcpiOsPrintf ("%27s : %4.4X\n", Title, Value); 786182080Srnoland} 787182080Srnoland 788145132Sanholtstatic void 789145132SanholtAcpiRsOutInteger32 ( 790182080Srnoland char *Title, 791145132Sanholt UINT32 Value) 792182080Srnoland{ 793182080Srnoland AcpiOsPrintf ("%27s : %8.8X\n", Title, Value); 794145132Sanholt} 795182080Srnoland 796182080Srnolandstatic void 797182080SrnolandAcpiRsOutInteger64 ( 798145132Sanholt char *Title, 799145132Sanholt UINT64 Value) 800145132Sanholt{ 801145132Sanholt AcpiOsPrintf ("%27s : %8.8X%8.8X\n", Title, 802182080Srnoland ACPI_FORMAT_UINT64 (Value)); 803145132Sanholt} 804145132Sanholt 805182080Srnolandstatic void 806182080SrnolandAcpiRsOutTitle ( 807182080Srnoland char *Title) 808145132Sanholt{ 809182080Srnoland AcpiOsPrintf ("%27s : ", Title); 810182080Srnoland} 811182080Srnoland 812182080Srnoland 813182080Srnoland/******************************************************************************* 814182080Srnoland * 815182080Srnoland * FUNCTION: AcpiRsDump*List 816182080Srnoland * 817182080Srnoland * PARAMETERS: Length - Number of elements in the list 818145132Sanholt * Data - Start of the list 819145132Sanholt * 820145132Sanholt * RETURN: None 821145132Sanholt * 822145132Sanholt * DESCRIPTION: Miscellaneous functions to dump lists of raw data 823145132Sanholt * 824145132Sanholt ******************************************************************************/ 825145132Sanholt 826145132Sanholtstatic void 827145132SanholtAcpiRsDumpByteList ( 828145132Sanholt UINT16 Length, 829145132Sanholt UINT8 *Data) 830145132Sanholt{ 831145132Sanholt UINT8 i; 832145132Sanholt 833145132Sanholt 834145132Sanholt for (i = 0; i < Length; i++) 835145132Sanholt { 836145132Sanholt AcpiOsPrintf ("%25s%2.2X : %2.2X\n", 837145132Sanholt "Byte", i, Data[i]); 838145132Sanholt } 839145132Sanholt} 840145132Sanholt 841145132Sanholtstatic void 842145132SanholtAcpiRsDumpShortByteList ( 843145132Sanholt UINT8 Length, 844145132Sanholt UINT8 *Data) 845145132Sanholt{ 846145132Sanholt UINT8 i; 847145132Sanholt 848145132Sanholt 849145132Sanholt for (i = 0; i < Length; i++) 850145132Sanholt { 851145132Sanholt AcpiOsPrintf ("%X ", Data[i]); 852145132Sanholt } 853145132Sanholt AcpiOsPrintf ("\n"); 854145132Sanholt} 855145132Sanholt 856145132Sanholtstatic void 857AcpiRsDumpDwordList ( 858 UINT8 Length, 859 UINT32 *Data) 860{ 861 UINT8 i; 862 863 864 for (i = 0; i < Length; i++) 865 { 866 AcpiOsPrintf ("%25s%2.2X : %8.8X\n", 867 "Dword", i, Data[i]); 868 } 869} 870 871#endif 872 873