1 /*******************************************************************************
3 * Module Name: dmresrcl.c - "Large" Resource Descriptor disassembly
5 ******************************************************************************/
8 * Copyright (C) 2000 - 2011, Intel Corp.
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions, and the following disclaimer,
16 * without modification.
17 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18 * substantially similar to the "NO WARRANTY" disclaimer below
19 * ("Disclaimer") and any redistribution must be conditioned upon
20 * including a substantially similar Disclaimer requirement for further
21 * binary redistribution.
22 * 3. Neither the names of the above-listed copyright holders nor the names
23 * of any contributors may be used to endorse or promote products derived
24 * from this software without specific prior written permission.
26 * Alternatively, this software may be distributed under the terms of the
27 * GNU General Public License ("GPL") version 2 as published by the Free
28 * Software Foundation.
31 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41 * POSSIBILITY OF SUCH DAMAGES.
45 #include <contrib/dev/acpica/include/acpi.h>
46 #include <contrib/dev/acpica/include/accommon.h>
47 #include <contrib/dev/acpica/include/acdisasm.h>
50 #ifdef ACPI_DISASSEMBLER
52 #define _COMPONENT ACPI_CA_DEBUGGER
53 ACPI_MODULE_NAME ("dbresrcl")
56 /* Common names for address and memory descriptors */
58 static char *AcpiDmAddressNames[] =
67 static char *AcpiDmMemoryNames[] =
76 /* Local prototypes */
100 AcpiDmResourceSource (
101 AML_RESOURCE *Resource,
102 ACPI_SIZE MinimumLength,
106 AcpiDmAddressFields (
112 AcpiDmAddressPrefix (
116 AcpiDmAddressCommon (
117 AML_RESOURCE *Resource,
123 AML_RESOURCE *Resource);
126 /*******************************************************************************
128 * FUNCTION: AcpiDmMemoryFields
130 * PARAMETERS: Source - Pointer to the contiguous data fields
131 * Type - 16 or 32 (bit)
132 * Level - Current source code indentation level
136 * DESCRIPTION: Decode fields common to Memory24 and Memory32 descriptors
138 ******************************************************************************/
149 for (i = 0; i < 4; i++)
151 AcpiDmIndent (Level + 1);
156 AcpiDmDumpInteger16 (ACPI_CAST_PTR (UINT16, Source)[i],
157 AcpiDmMemoryNames[i]);
161 AcpiDmDumpInteger32 (ACPI_CAST_PTR (UINT32, Source)[i],
162 AcpiDmMemoryNames[i]);
172 /*******************************************************************************
174 * FUNCTION: AcpiDmAddressFields
176 * PARAMETERS: Source - Pointer to the contiguous data fields
177 * Type - 16, 32, or 64 (bit)
178 * Level - Current source code indentation level
182 * DESCRIPTION: Decode fields common to address descriptors
184 ******************************************************************************/
187 AcpiDmAddressFields (
197 for (i = 0; i < 5; i++)
199 AcpiDmIndent (Level + 1);
204 AcpiDmDumpInteger16 (ACPI_CAST_PTR (UINT16, Source)[i],
205 AcpiDmAddressNames[i]);
209 AcpiDmDumpInteger32 (ACPI_CAST_PTR (UINT32, Source)[i],
210 AcpiDmAddressNames[i]);
214 AcpiDmDumpInteger64 (ACPI_CAST_PTR (UINT64, Source)[i],
215 AcpiDmAddressNames[i]);
225 /*******************************************************************************
227 * FUNCTION: AcpiDmAddressPrefix
229 * PARAMETERS: Type - Descriptor type
233 * DESCRIPTION: Emit name prefix representing the address descriptor type
235 ******************************************************************************/
238 AcpiDmAddressPrefix (
244 case ACPI_RESOURCE_TYPE_ADDRESS16:
245 AcpiOsPrintf ("Word");
248 case ACPI_RESOURCE_TYPE_ADDRESS32:
249 AcpiOsPrintf ("DWord");
252 case ACPI_RESOURCE_TYPE_ADDRESS64:
253 AcpiOsPrintf ("QWord");
256 case ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS64:
257 AcpiOsPrintf ("Extended");
266 /*******************************************************************************
268 * FUNCTION: AcpiDmAddressCommon
270 * PARAMETERS: Resource - Raw AML descriptor
271 * Type - Descriptor type
272 * Level - Current source code indentation level
276 * DESCRIPTION: Emit common name and flag fields common to address descriptors
278 ******************************************************************************/
281 AcpiDmAddressCommon (
282 AML_RESOURCE *Resource,
291 ResourceType = Resource->Address.ResourceType;
292 SpecificFlags = Resource->Address.SpecificFlags;
293 Flags = Resource->Address.Flags;
295 AcpiDmIndent (Level);
297 /* Validate ResourceType */
299 if ((ResourceType > 2) && (ResourceType < 0xC0))
301 AcpiOsPrintf ("/**** Invalid Resource Type: 0x%X ****/", ResourceType);
305 /* Prefix is either Word, DWord, QWord, or Extended */
307 AcpiDmAddressPrefix (Type);
309 /* Resource Types above 0xC0 are vendor-defined */
311 if (ResourceType > 2)
313 AcpiOsPrintf ("Space (0x%2.2X, ", ResourceType);
314 AcpiDmSpaceFlags (Flags);
315 AcpiOsPrintf (" 0x%2.2X,", SpecificFlags);
319 /* This is either a Memory, IO, or BusNumber descriptor (0,1,2) */
321 AcpiOsPrintf ("%s (", AcpiGbl_WordDecode [ResourceType & 0x3]);
323 /* Decode the general and type-specific flags */
325 if (ResourceType == ACPI_MEMORY_RANGE)
327 AcpiDmMemoryFlags (Flags, SpecificFlags);
329 else /* IO range or BusNumberRange */
331 AcpiDmIoFlags (Flags);
332 if (ResourceType == ACPI_IO_RANGE)
334 AcpiOsPrintf (" %s,", AcpiGbl_RngDecode [SpecificFlags & 0x3]);
340 /*******************************************************************************
342 * FUNCTION: AcpiDmAddressFlags
344 * PARAMETERS: Resource - Raw AML descriptor
348 * DESCRIPTION: Emit flags common to address descriptors
350 ******************************************************************************/
354 AML_RESOURCE *Resource)
357 if (Resource->Address.ResourceType == ACPI_IO_RANGE)
359 AcpiDmIoFlags2 (Resource->Address.SpecificFlags);
361 else if (Resource->Address.ResourceType == ACPI_MEMORY_RANGE)
363 AcpiDmMemoryFlags2 (Resource->Address.SpecificFlags);
368 /*******************************************************************************
370 * FUNCTION: AcpiDmSpaceFlags
372 * PARAMETERS: Flags - Flag byte to be decoded
376 * DESCRIPTION: Decode the flags specific to Space Address space descriptors
378 ******************************************************************************/
385 AcpiOsPrintf ("%s, %s, %s, %s,",
386 AcpiGbl_ConsumeDecode [(Flags & 1)],
387 AcpiGbl_DecDecode [(Flags & 0x2) >> 1],
388 AcpiGbl_MinDecode [(Flags & 0x4) >> 2],
389 AcpiGbl_MaxDecode [(Flags & 0x8) >> 3]);
393 /*******************************************************************************
395 * FUNCTION: AcpiDmIoFlags
397 * PARAMETERS: Flags - Flag byte to be decoded
401 * DESCRIPTION: Decode the flags specific to IO Address space descriptors
403 ******************************************************************************/
409 AcpiOsPrintf ("%s, %s, %s, %s,",
410 AcpiGbl_ConsumeDecode [(Flags & 1)],
411 AcpiGbl_MinDecode [(Flags & 0x4) >> 2],
412 AcpiGbl_MaxDecode [(Flags & 0x8) >> 3],
413 AcpiGbl_DecDecode [(Flags & 0x2) >> 1]);
417 /*******************************************************************************
419 * FUNCTION: AcpiDmIoFlags2
421 * PARAMETERS: SpecificFlags - "Specific" flag byte to be decoded
425 * DESCRIPTION: Decode the flags specific to IO Address space descriptors
427 ******************************************************************************/
434 AcpiOsPrintf (", %s",
435 AcpiGbl_TtpDecode [(SpecificFlags & 0x10) >> 4]);
437 /* TRS is only used if TTP is TypeTranslation */
439 if (SpecificFlags & 0x10)
441 AcpiOsPrintf (", %s",
442 AcpiGbl_TrsDecode [(SpecificFlags & 0x20) >> 5]);
447 /*******************************************************************************
449 * FUNCTION: AcpiDmMemoryFlags
451 * PARAMETERS: Flags - Flag byte to be decoded
452 * SpecificFlags - "Specific" flag byte to be decoded
456 * DESCRIPTION: Decode flags specific to Memory Address Space descriptors
458 ******************************************************************************/
466 AcpiOsPrintf ("%s, %s, %s, %s, %s, %s,",
467 AcpiGbl_ConsumeDecode [(Flags & 1)],
468 AcpiGbl_DecDecode [(Flags & 0x2) >> 1],
469 AcpiGbl_MinDecode [(Flags & 0x4) >> 2],
470 AcpiGbl_MaxDecode [(Flags & 0x8) >> 3],
471 AcpiGbl_MemDecode [(SpecificFlags & 0x6) >> 1],
472 AcpiGbl_RwDecode [(SpecificFlags & 0x1)]);
476 /*******************************************************************************
478 * FUNCTION: AcpiDmMemoryFlags2
480 * PARAMETERS: SpecificFlags - "Specific" flag byte to be decoded
484 * DESCRIPTION: Decode flags specific to Memory Address Space descriptors
486 ******************************************************************************/
493 AcpiOsPrintf (", %s, %s",
494 AcpiGbl_MtpDecode [(SpecificFlags & 0x18) >> 3],
495 AcpiGbl_TtpDecode [(SpecificFlags & 0x20) >> 5]);
499 /*******************************************************************************
501 * FUNCTION: AcpiDmResourceSource
503 * PARAMETERS: Resource - Raw AML descriptor
504 * MinimumLength - descriptor length without optional fields
509 * DESCRIPTION: Dump optional ResourceSource fields of an address descriptor
511 ******************************************************************************/
514 AcpiDmResourceSource (
515 AML_RESOURCE *Resource,
516 ACPI_SIZE MinimumTotalLength,
517 UINT32 ResourceLength)
519 UINT8 *AmlResourceSource;
523 TotalLength = ResourceLength + sizeof (AML_RESOURCE_LARGE_HEADER);
525 /* Check if the optional ResourceSource fields are present */
527 if (TotalLength <= MinimumTotalLength)
529 /* The two optional fields are not used */
531 AcpiOsPrintf (",, ");
535 /* Get a pointer to the ResourceSource */
537 AmlResourceSource = ACPI_ADD_PTR (UINT8, Resource, MinimumTotalLength);
540 * Always emit the ResourceSourceIndex (Byte)
542 * NOTE: Some ASL compilers always create a 0 byte (in the AML) for the
543 * Index even if the String does not exist. Although this is in violation
544 * of the ACPI specification, it is very important to emit ASL code that
545 * can be compiled back to the identical AML. There may be fields and/or
546 * indexes into the resource template buffer that are compiled to absolute
547 * offsets, and these will be broken if the AML length is changed.
549 AcpiOsPrintf ("0x%2.2X,", (UINT32) AmlResourceSource[0]);
551 /* Make sure that the ResourceSource string exists before dumping it */
553 if (TotalLength > (MinimumTotalLength + 1))
556 AcpiUtPrintString ((char *) &AmlResourceSource[1], ACPI_UINT8_MAX);
563 /*******************************************************************************
565 * FUNCTION: AcpiDmWordDescriptor
567 * PARAMETERS: Resource - Pointer to the resource descriptor
568 * Length - Length of the descriptor in bytes
569 * Level - Current source code indentation level
573 * DESCRIPTION: Decode a Word Address Space descriptor
575 ******************************************************************************/
578 AcpiDmWordDescriptor (
579 AML_RESOURCE *Resource,
584 /* Dump resource name and flags */
586 AcpiDmAddressCommon (Resource, ACPI_RESOURCE_TYPE_ADDRESS16, Level);
588 /* Dump the 5 contiguous WORD values */
590 AcpiDmAddressFields (&Resource->Address16.Granularity, 16, Level);
592 /* The ResourceSource fields are optional */
594 AcpiDmIndent (Level + 1);
595 AcpiDmResourceSource (Resource, sizeof (AML_RESOURCE_ADDRESS16), Length);
597 /* Insert a descriptor name */
599 AcpiDmDescriptorName ();
601 /* Type-specific flags */
603 AcpiDmAddressFlags (Resource);
604 AcpiOsPrintf (")\n");
608 /*******************************************************************************
610 * FUNCTION: AcpiDmDwordDescriptor
612 * PARAMETERS: Resource - Pointer to the resource descriptor
613 * Length - Length of the descriptor in bytes
614 * Level - Current source code indentation level
618 * DESCRIPTION: Decode a DWord Address Space descriptor
620 ******************************************************************************/
623 AcpiDmDwordDescriptor (
624 AML_RESOURCE *Resource,
629 /* Dump resource name and flags */
631 AcpiDmAddressCommon (Resource, ACPI_RESOURCE_TYPE_ADDRESS32, Level);
633 /* Dump the 5 contiguous DWORD values */
635 AcpiDmAddressFields (&Resource->Address32.Granularity, 32, Level);
637 /* The ResourceSource fields are optional */
639 AcpiDmIndent (Level + 1);
640 AcpiDmResourceSource (Resource, sizeof (AML_RESOURCE_ADDRESS32), Length);
642 /* Insert a descriptor name */
644 AcpiDmDescriptorName ();
646 /* Type-specific flags */
648 AcpiDmAddressFlags (Resource);
649 AcpiOsPrintf (")\n");
653 /*******************************************************************************
655 * FUNCTION: AcpiDmQwordDescriptor
657 * PARAMETERS: Resource - Pointer to the resource descriptor
658 * Length - Length of the descriptor in bytes
659 * Level - Current source code indentation level
663 * DESCRIPTION: Decode a QWord Address Space descriptor
665 ******************************************************************************/
668 AcpiDmQwordDescriptor (
669 AML_RESOURCE *Resource,
674 /* Dump resource name and flags */
676 AcpiDmAddressCommon (Resource, ACPI_RESOURCE_TYPE_ADDRESS64, Level);
678 /* Dump the 5 contiguous QWORD values */
680 AcpiDmAddressFields (&Resource->Address64.Granularity, 64, Level);
682 /* The ResourceSource fields are optional */
684 AcpiDmIndent (Level + 1);
685 AcpiDmResourceSource (Resource, sizeof (AML_RESOURCE_ADDRESS64), Length);
687 /* Insert a descriptor name */
689 AcpiDmDescriptorName ();
691 /* Type-specific flags */
693 AcpiDmAddressFlags (Resource);
694 AcpiOsPrintf (")\n");
698 /*******************************************************************************
700 * FUNCTION: AcpiDmExtendedDescriptor
702 * PARAMETERS: Resource - Pointer to the resource descriptor
703 * Length - Length of the descriptor in bytes
704 * Level - Current source code indentation level
708 * DESCRIPTION: Decode a Extended Address Space descriptor
710 ******************************************************************************/
713 AcpiDmExtendedDescriptor (
714 AML_RESOURCE *Resource,
719 /* Dump resource name and flags */
721 AcpiDmAddressCommon (Resource, ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS64, Level);
723 /* Dump the 5 contiguous QWORD values */
725 AcpiDmAddressFields (&Resource->ExtAddress64.Granularity, 64, Level);
727 /* Extra field for this descriptor only */
729 AcpiDmIndent (Level + 1);
730 AcpiDmDumpInteger64 (Resource->ExtAddress64.TypeSpecific,
731 "Type-Specific Attributes");
733 /* Insert a descriptor name */
735 AcpiDmIndent (Level + 1);
736 AcpiDmDescriptorName ();
738 /* Type-specific flags */
740 AcpiDmAddressFlags (Resource);
741 AcpiOsPrintf (")\n");
745 /*******************************************************************************
747 * FUNCTION: AcpiDmMemory24Descriptor
749 * PARAMETERS: Resource - Pointer to the resource descriptor
750 * Length - Length of the descriptor in bytes
751 * Level - Current source code indentation level
755 * DESCRIPTION: Decode a Memory24 descriptor
757 ******************************************************************************/
760 AcpiDmMemory24Descriptor (
761 AML_RESOURCE *Resource,
766 /* Dump name and read/write flag */
768 AcpiDmIndent (Level);
769 AcpiOsPrintf ("Memory24 (%s,\n",
770 AcpiGbl_RwDecode [Resource->Memory24.Flags & 1]);
772 /* Dump the 4 contiguous WORD values */
774 AcpiDmMemoryFields (&Resource->Memory24.Minimum, 16, Level);
776 /* Insert a descriptor name */
778 AcpiDmIndent (Level + 1);
779 AcpiDmDescriptorName ();
780 AcpiOsPrintf (")\n");
784 /*******************************************************************************
786 * FUNCTION: AcpiDmMemory32Descriptor
788 * PARAMETERS: Resource - Pointer to the resource descriptor
789 * Length - Length of the descriptor in bytes
790 * Level - Current source code indentation level
794 * DESCRIPTION: Decode a Memory32 descriptor
796 ******************************************************************************/
799 AcpiDmMemory32Descriptor (
800 AML_RESOURCE *Resource,
805 /* Dump name and read/write flag */
807 AcpiDmIndent (Level);
808 AcpiOsPrintf ("Memory32 (%s,\n",
809 AcpiGbl_RwDecode [Resource->Memory32.Flags & 1]);
811 /* Dump the 4 contiguous DWORD values */
813 AcpiDmMemoryFields (&Resource->Memory32.Minimum, 32, Level);
815 /* Insert a descriptor name */
817 AcpiDmIndent (Level + 1);
818 AcpiDmDescriptorName ();
819 AcpiOsPrintf (")\n");
823 /*******************************************************************************
825 * FUNCTION: AcpiDmFixedMemory32Descriptor
827 * PARAMETERS: Resource - Pointer to the resource descriptor
828 * Length - Length of the descriptor in bytes
829 * Level - Current source code indentation level
833 * DESCRIPTION: Decode a Fixed Memory32 descriptor
835 ******************************************************************************/
838 AcpiDmFixedMemory32Descriptor (
839 AML_RESOURCE *Resource,
844 /* Dump name and read/write flag */
846 AcpiDmIndent (Level);
847 AcpiOsPrintf ("Memory32Fixed (%s,\n",
848 AcpiGbl_RwDecode [Resource->FixedMemory32.Flags & 1]);
850 AcpiDmIndent (Level + 1);
851 AcpiDmDumpInteger32 (Resource->FixedMemory32.Address, "Address Base");
853 AcpiDmIndent (Level + 1);
854 AcpiDmDumpInteger32 (Resource->FixedMemory32.AddressLength, "Address Length");
856 /* Insert a descriptor name */
858 AcpiDmIndent (Level + 1);
859 AcpiDmDescriptorName ();
860 AcpiOsPrintf (")\n");
864 /*******************************************************************************
866 * FUNCTION: AcpiDmGenericRegisterDescriptor
868 * PARAMETERS: Resource - Pointer to the resource descriptor
869 * Length - Length of the descriptor in bytes
870 * Level - Current source code indentation level
874 * DESCRIPTION: Decode a Generic Register descriptor
876 ******************************************************************************/
879 AcpiDmGenericRegisterDescriptor (
880 AML_RESOURCE *Resource,
885 AcpiDmIndent (Level);
886 AcpiOsPrintf ("Register (");
887 AcpiDmAddressSpace (Resource->GenericReg.AddressSpaceId);
890 AcpiDmIndent (Level + 1);
891 AcpiDmDumpInteger8 (Resource->GenericReg.BitWidth, "Bit Width");
893 AcpiDmIndent (Level + 1);
894 AcpiDmDumpInteger8 (Resource->GenericReg.BitOffset, "Bit Offset");
896 AcpiDmIndent (Level + 1);
897 AcpiDmDumpInteger64 (Resource->GenericReg.Address, "Address");
899 /* Optional field for ACPI 3.0 */
901 AcpiDmIndent (Level + 1);
902 if (Resource->GenericReg.AccessSize)
904 AcpiOsPrintf ("0x%2.2X, // %s\n",
905 Resource->GenericReg.AccessSize, "Access Size");
906 AcpiDmIndent (Level + 1);
913 /* DescriptorName was added for ACPI 3.0+ */
915 AcpiDmDescriptorName ();
916 AcpiOsPrintf (")\n");
920 /*******************************************************************************
922 * FUNCTION: AcpiDmInterruptDescriptor
924 * PARAMETERS: Resource - Pointer to the resource descriptor
925 * Length - Length of the descriptor in bytes
926 * Level - Current source code indentation level
930 * DESCRIPTION: Decode a extended Interrupt descriptor
932 ******************************************************************************/
935 AcpiDmInterruptDescriptor (
936 AML_RESOURCE *Resource,
943 AcpiDmIndent (Level);
944 AcpiOsPrintf ("Interrupt (%s, %s, %s, %s, ",
945 AcpiGbl_ConsumeDecode [(Resource->ExtendedIrq.Flags & 1)],
946 AcpiGbl_HeDecode [(Resource->ExtendedIrq.Flags >> 1) & 1],
947 AcpiGbl_LlDecode [(Resource->ExtendedIrq.Flags >> 2) & 1],
948 AcpiGbl_ShrDecode [(Resource->ExtendedIrq.Flags >> 3) & 1]);
951 * The ResourceSource fields are optional and appear after the interrupt
952 * list. Must compute length based on length of the list. First xrupt
953 * is included in the struct (reason for -1 below)
955 AcpiDmResourceSource (Resource,
956 sizeof (AML_RESOURCE_EXTENDED_IRQ) +
957 ((UINT32) Resource->ExtendedIrq.InterruptCount - 1) * sizeof (UINT32),
958 Resource->ExtendedIrq.ResourceLength);
960 /* Insert a descriptor name */
962 AcpiDmDescriptorName ();
963 AcpiOsPrintf (")\n");
965 /* Dump the interrupt list */
967 AcpiDmIndent (Level);
968 AcpiOsPrintf ("{\n");
969 for (i = 0; i < Resource->ExtendedIrq.InterruptCount; i++)
971 AcpiDmIndent (Level + 1);
972 AcpiOsPrintf ("0x%8.8X,\n",
973 (UINT32) Resource->ExtendedIrq.Interrupts[i]);
976 AcpiDmIndent (Level);
977 AcpiOsPrintf ("}\n");
981 /*******************************************************************************
983 * FUNCTION: AcpiDmVendorCommon
985 * PARAMETERS: Name - Descriptor name suffix
986 * ByteData - Pointer to the vendor byte data
987 * Length - Length of the byte data
988 * Level - Current source code indentation level
992 * DESCRIPTION: Decode a Vendor descriptor, both Large and Small
994 ******************************************************************************/
1004 /* Dump macro name */
1006 AcpiDmIndent (Level);
1007 AcpiOsPrintf ("Vendor%s (", Name);
1009 /* Insert a descriptor name */
1011 AcpiDmDescriptorName ();
1012 AcpiOsPrintf (") // Length = 0x%.2X\n", Length);
1014 /* Dump the vendor bytes */
1016 AcpiDmIndent (Level);
1017 AcpiOsPrintf ("{\n");
1019 AcpiDmDisasmByteList (Level + 1, ByteData, Length);
1021 AcpiDmIndent (Level);
1022 AcpiOsPrintf ("}\n");
1026 /*******************************************************************************
1028 * FUNCTION: AcpiDmVendorLargeDescriptor
1030 * PARAMETERS: Resource - Pointer to the resource descriptor
1031 * Length - Length of the descriptor in bytes
1032 * Level - Current source code indentation level
1036 * DESCRIPTION: Decode a Vendor Large descriptor
1038 ******************************************************************************/
1041 AcpiDmVendorLargeDescriptor (
1042 AML_RESOURCE *Resource,
1047 AcpiDmVendorCommon ("Long ",
1048 ACPI_ADD_PTR (UINT8, Resource, sizeof (AML_RESOURCE_LARGE_HEADER)),