summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Moore <Robert.Moore@intel.com>2013-07-17 11:44:01 -0700
committerRobert Moore <Robert.Moore@intel.com>2013-07-17 11:44:01 -0700
commit6dea0505c26ce6a096d01c654ca93c9896c0c4c1 (patch)
tree1784153527706bf14d40b00a139d01c6388ecc87
parent58bcc6c5152703e959a8f8a2091ec48d2e8f784a (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.c21
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"