Deleted Added
full compact
dmresrc.c (123315) dmresrc.c (126372)
1/*******************************************************************************
2 *
3 * Module Name: dmresrc.c - Resource Descriptor disassembly
1/*******************************************************************************
2 *
3 * Module Name: dmresrc.c - Resource Descriptor disassembly
4 * $Revision: 10 $
4 * $Revision: 13 $
5 *
6 ******************************************************************************/
7
8/******************************************************************************
9 *
10 * 1. Copyright Notice
11 *
5 *
6 ******************************************************************************/
7
8/******************************************************************************
9 *
10 * 1. Copyright Notice
11 *
12 * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
12 * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
13 * All rights reserved.
14 *
15 * 2. License
16 *
17 * 2.1. This is your license from Intel Corp. under its intellectual property
18 * rights. You may have additional license terms from the party that provided
19 * you this software, covering your right to use that party's intellectual
20 * property rights.

--- 407 unchanged lines hidden (view full) ---

428 return (FALSE);
429 }
430
431 /* Extract the data pointer and data length */
432
433 ByteCount = (UINT32) NextOp->Common.Value.Integer;
434 ByteData = NextOp->Named.Data;
435
13 * All rights reserved.
14 *
15 * 2. License
16 *
17 * 2.1. This is your license from Intel Corp. under its intellectual property
18 * rights. You may have additional license terms from the party that provided
19 * you this software, covering your right to use that party's intellectual
20 * property rights.

--- 407 unchanged lines hidden (view full) ---

428 return (FALSE);
429 }
430
431 /* Extract the data pointer and data length */
432
433 ByteCount = (UINT32) NextOp->Common.Value.Integer;
434 ByteData = NextOp->Named.Data;
435
436 /* The list must have a valid END_TAG */
436 /* Absolute minimum descriptor is an END_TAG (2 bytes) */
437
437
438 if (ByteData[ByteCount-1] != (ACPI_RDESC_TYPE_END_TAG | 1))
438 if (ByteCount < 2)
439 {
439 {
440 return (FALSE);
441 }
442
443 /* The list must have a valid 2-byte END_TAG */
444
445 if (ByteData[ByteCount-2] != (ACPI_RDESC_TYPE_END_TAG | 1))
446 {
440 return FALSE;
441 }
442
443 /*
444 * Walk the byte list. Abort on any invalid descriptor ID or
445 * or length
446 */
447 return FALSE;
448 }
449
450 /*
451 * Walk the byte list. Abort on any invalid descriptor ID or
452 * or length
453 */
447 for (CurrentByteOffset = 0; CurrentByteOffset < ByteCount; )
454 for (CurrentByteOffset = 0; CurrentByteOffset < ByteCount;)
448 {
449 CurrentByte = ByteData[CurrentByteOffset];
450
451 /* Large or small resource? */
452
453 if (CurrentByte & ACPI_RDESC_TYPE_LARGE)
454 {
455 DescriptorId = CurrentByte;

--- 18 unchanged lines hidden (view full) ---

474 */
475 case ACPI_RDESC_TYPE_IRQ_FORMAT:
476 case ACPI_RDESC_TYPE_DMA_FORMAT:
477 case ACPI_RDESC_TYPE_START_DEPENDENT:
478 case ACPI_RDESC_TYPE_END_DEPENDENT:
479 case ACPI_RDESC_TYPE_IO_PORT:
480 case ACPI_RDESC_TYPE_FIXED_IO_PORT:
481 case ACPI_RDESC_TYPE_SMALL_VENDOR:
455 {
456 CurrentByte = ByteData[CurrentByteOffset];
457
458 /* Large or small resource? */
459
460 if (CurrentByte & ACPI_RDESC_TYPE_LARGE)
461 {
462 DescriptorId = CurrentByte;

--- 18 unchanged lines hidden (view full) ---

481 */
482 case ACPI_RDESC_TYPE_IRQ_FORMAT:
483 case ACPI_RDESC_TYPE_DMA_FORMAT:
484 case ACPI_RDESC_TYPE_START_DEPENDENT:
485 case ACPI_RDESC_TYPE_END_DEPENDENT:
486 case ACPI_RDESC_TYPE_IO_PORT:
487 case ACPI_RDESC_TYPE_FIXED_IO_PORT:
488 case ACPI_RDESC_TYPE_SMALL_VENDOR:
489
482 /*
483 * "Large" type descriptors
484 */
485 case ACPI_RDESC_TYPE_MEMORY_24:
486 case ACPI_RDESC_TYPE_GENERAL_REGISTER:
487 case ACPI_RDESC_TYPE_LARGE_VENDOR:
488 case ACPI_RDESC_TYPE_MEMORY_32:
489 case ACPI_RDESC_TYPE_FIXED_MEMORY_32:

--- 39 unchanged lines hidden ---
490 /*
491 * "Large" type descriptors
492 */
493 case ACPI_RDESC_TYPE_MEMORY_24:
494 case ACPI_RDESC_TYPE_GENERAL_REGISTER:
495 case ACPI_RDESC_TYPE_LARGE_VENDOR:
496 case ACPI_RDESC_TYPE_MEMORY_32:
497 case ACPI_RDESC_TYPE_FIXED_MEMORY_32:

--- 39 unchanged lines hidden ---