8,7 → 8,7 |
* |
* 1. Copyright Notice |
* |
* Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp. |
* Some or all of this work - Copyright (c) 1999 - 2011, Intel Corp. |
* All rights reserved. |
* |
* 2. License |
360,6 → 360,8 |
ACPI_DMTABLE_INFO *Info) |
{ |
UINT32 ByteLength = 0; |
UINT8 Step; |
UINT8 i; |
|
|
/* Walk entire Info table; Null name terminates */ |
366,13 → 368,53 |
|
for (; Info->Name; Info++) |
{ |
if (!Field) |
{ |
goto Error; |
} |
|
ByteLength += DtGetFieldLength (Field, Info); |
|
switch (Info->Opcode) |
{ |
case ACPI_DMT_GAS: |
Step = 5; |
break; |
|
case ACPI_DMT_HESTNTFY: |
Step = 9; |
break; |
|
default: |
Step = 1; |
break; |
} |
|
for (i = 0; i < Step; i++) |
{ |
if (!Field) |
{ |
goto Error; |
} |
|
Field = Field->Next; |
} |
} |
|
return (ByteLength); |
|
Error: |
if (!Field) |
{ |
sprintf (MsgBuffer, "Found NULL field - Field name \"%s\" needed", |
Info->Name); |
DtFatal (ASL_MSG_COMPILER_INTERNAL, NULL, MsgBuffer); |
} |
|
return (ASL_EOF); |
} |
|
|
/****************************************************************************** |
* |
* FUNCTION: DtSetSubtableLength |