diff options
author | Robert Moore <Robert.Moore@intel.com> | 2013-07-17 11:44:01 -0700 |
---|---|---|
committer | Robert Moore <Robert.Moore@intel.com> | 2013-07-17 11:44:01 -0700 |
commit | 6dea0505c26ce6a096d01c654ca93c9896c0c4c1 (patch) | |
tree | 1784153527706bf14d40b00a139d01c6388ecc87 | |
parent | 58bcc6c5152703e959a8f8a2091ec48d2e8f784a (diff) |
iASL: Add -so support for Processor objects.
Emit offset entries for processor object. Offset points to the
PBlock Address.
-rw-r--r-- | source/compiler/asloffset.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/source/compiler/asloffset.c b/source/compiler/asloffset.c index 3c6551e29..05185c76b 100644 --- a/source/compiler/asloffset.c +++ b/source/compiler/asloffset.c @@ -320,6 +320,24 @@ LsAmlOffsetWalk ( (UINT8) Op->Asl.AmlOpcode); break; + case AML_PROCESSOR_OP: + + /* Processor (Namepath, ProcessorId, Address, Length) */ + + Length = Op->Asl.FinalAmlLength; + + NextOp = Op->Asl.Child; /* Get Namepath */ + OffsetOfOpcode = Length + NextOp->Asl.FinalAmlLength + 1; + + NextOp = NextOp->Asl.Next; /* Get ProcessorID (BYTE) */ + NextOp = NextOp->Asl.Next; /* Get Address (DWORD) */ + + LsEmitOffsetTableEntry (FileId, Node, + (Gbl_CurrentAmlOffset + OffsetOfOpcode), + Op->Asl.ParseOpName, NextOp->Asl.Value.Integer, + (UINT8) 0x0C); /* DWORD opcode */ + break; + default: break; } @@ -438,6 +456,9 @@ LsDoOffsetTableHeader ( " * Control Methods:\n" " * Offset points to the first byte of the namepath\n" " *\n" + " * Processors:\n" + " * Offset points to the first byte of the PBlock Address\n" + " *\n" " * Resource Descriptors:\n" " * Offset points to the start of the descriptor\n" " * Opcode is the descriptor type\n" |