Create function headers

date	2000.11.16.23.46.00;	author rmoore1;	state Exp;
This commit is contained in:
aystarik 2005-06-29 16:08:42 +00:00
parent 8ab025ec3c
commit f5b9e97c5b
3 changed files with 558 additions and 583 deletions

View File

@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: aslresource - Resource templates and descriptors
* $Revision: 1.7 $
* $Revision: 1.11 $
*
*****************************************************************************/
@ -126,13 +126,14 @@
/*******************************************************************************
*
* FUNCTION:
* FUNCTION: RsAllocateResourceNode
*
* PARAMETERS:
* PARAMETERS: Size - Size of node in bytes
*
* RETURN:
* RETURN: The allocated node - aborts on allocation failure
*
* DESCRIPTION:
* DESCRIPTION: Allocate a resource description node and the resource
* descriptor itself (the nodes are used to link descriptors).
*
******************************************************************************/
@ -157,25 +158,30 @@ RsAllocateResourceNode (
}
/*******************************************************************************
*
* FUNCTION:
* FUNCTION: RsCreateBitField
*
* PARAMETERS:
* PARAMETERS: Node - Resource field node
* Name - Name of the field (Used only to reference
* the field in the ASL, not in the AML)
* ByteOffset - Offset from the field start
* BitOffset - Additional bit offset
*
* RETURN:
* RETURN: None, sets fields within the input node
*
* DESCRIPTION:
* DESCRIPTION: Utility function to generate a named bit field within a
* resource descriptor. Mark a node as 1) a field in a resource
* descriptor, and 2) set the value to be a BIT offset
*
******************************************************************************/
void
RsCreateBitField (
ASL_PARSE_NODE *Node,
char *Name,
UINT32 ByteOffset,
UINT32 BitOffset)
ASL_PARSE_NODE *Node,
char *Name,
UINT32 ByteOffset,
UINT32 BitOffset)
{
@ -185,24 +191,28 @@ RsCreateBitField (
}
/*******************************************************************************
*
* FUNCTION:
* FUNCTION: RsCreateByteField
*
* PARAMETERS:
* PARAMETERS: Node - Resource field node
* Name - Name of the field (Used only to reference
* the field in the ASL, not in the AML)
* ByteOffset - Offset from the field start
*
* RETURN:
* RETURN: None, sets fields within the input node
*
* DESCRIPTION:
* DESCRIPTION: Utility function to generate a named byte field within a
* resource descriptor. Mark a node as 1) a field in a resource
* descriptor, and 2) set the value to be a BYTE offset
*
******************************************************************************/
void
RsCreateByteField (
ASL_PARSE_NODE *Node,
char *Name,
UINT32 ByteOffset)
ASL_PARSE_NODE *Node,
char *Name,
UINT32 ByteOffset)
{
@ -212,25 +222,30 @@ RsCreateByteField (
}
/*******************************************************************************
*
* FUNCTION:
* FUNCTION: RsSetFlagBits
*
* PARAMETERS:
* PARAMETERS: *Flags - Pointer to the flag byte
* Node - Flag initialization node
* Position - Bit position within the flag byte
* Default - Used if the node is DEFAULT.
*
* RETURN:
* RETURN: Sets bits within the *Flags output byte.
*
* DESCRIPTION:
* DESCRIPTION: Set a bit in a cumulative flags word from an initialization
* node. Will use a default value if the node is DEFAULT, meaning
* that no value was specified in the ASL. Used to merge multiple
* keywords into a single flags byte.
*
******************************************************************************/
void
RsSetFlagBits (
UINT8 *Flags,
ASL_PARSE_NODE *Node,
UINT8 Position,
UINT8 Default)
UINT8 *Flags,
ASL_PARSE_NODE *Node,
UINT8 Position,
UINT8 Default)
{
@ -252,19 +267,21 @@ RsSetFlagBits (
/*******************************************************************************
*
* FUNCTION:
* FUNCTION: RsCompleteNodeAndGetNext
*
* PARAMETERS:
* PARAMETERS: Node - Resource node to be completed
*
* RETURN:
* RETURN: The next peer to the input node.
*
* DESCRIPTION:
* DESCRIPTION: Mark the current node completed and return the next peer.
* The node ParseOpcode is set to DEFAULT_ARG, meaning that
* this node is to be ignored from now on.
*
******************************************************************************/
ASL_PARSE_NODE *
RsCompleteNodeAndGetNext (
ASL_PARSE_NODE *Node)
ASL_PARSE_NODE *Node)
{
@ -278,16 +295,17 @@ RsCompleteNodeAndGetNext (
}
/*******************************************************************************
*
* FUNCTION:
* FUNCTION: RsDoOneResourceDescriptor
*
* PARAMETERS:
* PARAMETERS: DescriptorTypeNode - Parent parse node of the descriptor
* CurrentByteOffset - Offset in the resource descriptor
* buffer.
*
* RETURN:
* RETURN: A valid resource node for the descriptor
*
* DESCRIPTION:
* DESCRIPTION: Dispatches the processing of one resource descriptor
*
******************************************************************************/
@ -299,7 +317,6 @@ RsDoOneResourceDescriptor (
ASL_RESOURCE_NODE *Rnode = NULL;
/* Determine type of resource */
switch (DescriptorTypeNode->ParseOpcode)
@ -360,10 +377,8 @@ RsDoOneResourceDescriptor (
Rnode = RsDoQwordMemoryDescriptor (DescriptorTypeNode, CurrentByteOffset);
break;
/* TBD: register */
case REGISTER:
AslErrorMsg (ASL_ERROR_UNSUPPORTED, DescriptorTypeNode->LineNumber, "Register resource descriptor");
Rnode = RsDoGeneralRegisterDescriptor (DescriptorTypeNode, CurrentByteOffset);
break;
case STARTDEPENDENTFN:
@ -374,16 +389,12 @@ RsDoOneResourceDescriptor (
Rnode = RsDoStartDependentNoPriDescriptor (DescriptorTypeNode, CurrentByteOffset);
break;
/* TBD: vendor */
case VENDORLONG:
AslErrorMsg (ASL_ERROR_UNSUPPORTED, DescriptorTypeNode->LineNumber, "Vendor long descriptor");
Rnode = RsDoVendorLargeDescriptor (DescriptorTypeNode, CurrentByteOffset);
break;
/* TBD: vendor */
case VENDORSHORT:
AslErrorMsg (ASL_ERROR_UNSUPPORTED, DescriptorTypeNode->LineNumber, "Vendor short descriptor");
Rnode = RsDoVendorSmallDescriptor (DescriptorTypeNode, CurrentByteOffset);
break;
case WORDBUSNUMBER:
@ -399,14 +410,13 @@ RsDoOneResourceDescriptor (
break;
default:
printf ("Unknown resource descriptor type [%s]\n",
printf ("Unknown resource descriptor type [%s]\n",
DescriptorTypeNode->ParseOpName);
break;
}
/*
/*
* Mark original node as unused, but head of a resource descriptor.
* This allows the resource to be installed in the namespace so that
* references to the descriptor can be resolved.
@ -421,13 +431,16 @@ RsDoOneResourceDescriptor (
/*******************************************************************************
*
* FUNCTION:
* FUNCTION: RsLinkDescriptorChain
*
* PARAMETERS:
* PARAMETERS: PreviousRnode - Pointer to the node that will be previous
* to the linked node, At exit, set to the
* last node in the new chain.
* Rnode - Resource node to link into the list
*
* RETURN:
* RETURN: Cumulative buffer byte offset of the new segment of chain
*
* DESCRIPTION:
* DESCRIPTION: Link a descriptor chain at the end of an existing chain.
*
******************************************************************************/
@ -440,14 +453,20 @@ RsLinkDescriptorChain (
UINT32 CurrentByteOffset;
/* Anything to do? */
if (!Rnode)
{
return 0;
}
/* Point the previous node to the new node */
(*PreviousRnode)->Next = Rnode;
CurrentByteOffset = Rnode->BufferLength;
/* Walk to the end of the chain headed by Rnode */
LastRnode = Rnode;
while (LastRnode->Next)
{
@ -455,26 +474,28 @@ RsLinkDescriptorChain (
CurrentByteOffset += LastRnode->BufferLength;
}
/* Previous node becomes the last node in the chain */
*PreviousRnode = LastRnode;
return CurrentByteOffset;
}
/*******************************************************************************
*
* FUNCTION:
* FUNCTION: RsDoResourceTemplate
*
* PARAMETERS:
* PARAMETERS: Node - Parent of a resource template list
*
* RETURN:
* RETURN: None. Sets input node to point to a list of AML code
*
* DESCRIPTION:
* DESCRIPTION: Merge a list of resource descriptors into a single AML buffer,
* in preparation for output to the AML output file.
*
******************************************************************************/
void
CgDoResourceTemplate (
RsDoResourceTemplate (
ASL_PARSE_NODE *Node)
{
ASL_PARSE_NODE *BufferLengthNode;
@ -487,7 +508,6 @@ CgDoResourceTemplate (
ASL_RESOURCE_NODE *Rnode;
/* ResourceTemplate Opcode is first (Node) */
/* Buffer Length node is first child */
@ -524,7 +544,7 @@ CgDoResourceTemplate (
/*
* Insert the EndTag descriptor after all other descriptors have been processed
* Insert the EndTag descriptor after all other descriptors have been processed
*/
Rnode = RsAllocateResourceNode (sizeof (ASL_END_TAG_DESC));
@ -549,7 +569,7 @@ CgDoResourceTemplate (
BufferLengthNode->ParseOpcode = INTEGER;
BufferLengthNode->Value.Integer = CurrentByteOffset;
CgSetOptimalIntegerSize (BufferLengthNode);
OpcSetOptimalIntegerSize (BufferLengthNode);
BufferNode->ParseOpcode = RAW_DATA;
BufferNode->AmlOpcode = AML_RAW_DATA_CHAIN;

View File

@ -1,8 +1,8 @@
/******************************************************************************
*
* Module Name: aslrestype1 - Small (type1) resource templates and descriptors
* $Revision: 1.3 $
* Module Name: aslrestype1 - Short (type1) resource templates and descriptors
* $Revision: 1.5 $
*
*****************************************************************************/
@ -123,16 +123,17 @@
/*******************************************************************************
*
* FUNCTION:
* FUNCTION: RsDoDmaDescriptor
*
* PARAMETERS:
* PARAMETERS: Node - Parent resource descriptor parse node
* CurrentByteOffset - Offset into the resource template AML
* buffer (to track references to the desc)
*
* RETURN:
* RETURN: Completed resource node
*
* DESCRIPTION:
* DESCRIPTION: Construct a short "DMA" descriptor
*
******************************************************************************/
@ -148,7 +149,6 @@ RsDoDmaDescriptor (
UINT8 DmaChannelMask = 0;
InitializerNode = Node->Child;
Rnode = RsAllocateResourceNode (sizeof (ASL_DMA_FORMAT_DESC));
@ -166,21 +166,21 @@ RsDoDmaDescriptor (
case 0: /* DMA type */
RsSetFlagBits (&Descriptor->Dma.Flags, InitializerNode, 5, 0);
RsCreateBitField (InitializerNode, ASL_RESNAME_DMATYPE,
RsCreateBitField (InitializerNode, ASL_RESNAME_DMATYPE,
CurrentByteOffset + ASL_RESDESC_OFFSET (Dma.Flags), 5);
break;
case 1: /* Bus Master */
RsSetFlagBits (&Descriptor->Dma.Flags, InitializerNode, 2, 0);
RsCreateBitField (InitializerNode, ASL_RESNAME_BUSMASTER,
RsCreateBitField (InitializerNode, ASL_RESNAME_BUSMASTER,
CurrentByteOffset + ASL_RESDESC_OFFSET (Dma.Flags), 2);
break;
case 2: /* Xfer Type (transfer width) */
RsSetFlagBits (&Descriptor->Dma.Flags, InitializerNode, 0, 0);
RsCreateBitField (InitializerNode, ASL_RESNAME_XFERTYPE,
RsCreateBitField (InitializerNode, ASL_RESNAME_XFERTYPE,
CurrentByteOffset + ASL_RESDESC_OFFSET (Dma.Flags), 0);
break;
@ -211,16 +211,17 @@ RsDoDmaDescriptor (
}
/*******************************************************************************
*
* FUNCTION:
* FUNCTION: RsDoEndDependentDescriptor
*
* PARAMETERS:
* PARAMETERS: Node - Parent resource descriptor parse node
* CurrentByteOffset - Offset into the resource template AML
* buffer (to track references to the desc)
*
* RETURN:
* RETURN: Completed resource node
*
* DESCRIPTION:
* DESCRIPTION: Construct a short "EndDependentFn" descriptor
*
******************************************************************************/
@ -233,7 +234,6 @@ RsDoEndDependentDescriptor (
ASL_RESOURCE_NODE *Rnode;
Rnode = RsAllocateResourceNode (sizeof (ASL_END_DEPENDENT_DESC));
Descriptor = Rnode->Buffer;
@ -243,16 +243,17 @@ RsDoEndDependentDescriptor (
}
/*******************************************************************************
*
* FUNCTION:
* FUNCTION: RsDoFixedIoDescriptor
*
* PARAMETERS:
* PARAMETERS: Node - Parent resource descriptor parse node
* CurrentByteOffset - Offset into the resource template AML
* buffer (to track references to the desc)
*
* RETURN:
* RETURN: Completed resource node
*
* DESCRIPTION:
* DESCRIPTION: Construct a short "FixedIO" descriptor
*
******************************************************************************/
@ -267,7 +268,6 @@ RsDoFixedIoDescriptor (
UINT32 i;
InitializerNode = Node->Child;
Rnode = RsAllocateResourceNode (sizeof (ASL_FIXED_IO_PORT_DESC));
@ -285,14 +285,14 @@ RsDoFixedIoDescriptor (
case 0: /* Base Address */
Descriptor->Fio.BaseAddress = InitializerNode->Value.Integer16;
RsCreateByteField (InitializerNode, ASL_RESNAME_BASEADDRESS,
RsCreateByteField (InitializerNode, ASL_RESNAME_BASEADDRESS,
CurrentByteOffset + ASL_RESDESC_OFFSET (Fio.BaseAddress));
break;
case 1: /* Length */
Descriptor->Fio.Length = InitializerNode->Value.Integer8;
RsCreateByteField (InitializerNode, ASL_RESNAME_LENGTH,
RsCreateByteField (InitializerNode, ASL_RESNAME_LENGTH,
CurrentByteOffset + ASL_RESDESC_OFFSET (Fio.Length));
break;
@ -312,13 +312,15 @@ RsDoFixedIoDescriptor (
/*******************************************************************************
*
* FUNCTION:
* FUNCTION: RsDoIoDescriptor
*
* PARAMETERS:
* PARAMETERS: Node - Parent resource descriptor parse node
* CurrentByteOffset - Offset into the resource template AML
* buffer (to track references to the desc)
*
* RETURN:
* RETURN: Completed resource node
*
* DESCRIPTION:
* DESCRIPTION: Construct a short "IO" descriptor
*
******************************************************************************/
@ -355,28 +357,28 @@ RsDoIoDescriptor (
case 1: /* Min Address */
Descriptor->Iop.AddressMin = InitializerNode->Value.Integer16;
RsCreateByteField (InitializerNode, ASL_RESNAME_MINADDR,
RsCreateByteField (InitializerNode, ASL_RESNAME_MINADDR,
CurrentByteOffset + ASL_RESDESC_OFFSET (Iop.AddressMin));
break;
case 2: /* Max Address */
Descriptor->Iop.AddressMax = InitializerNode->Value.Integer16;
RsCreateByteField (InitializerNode, ASL_RESNAME_MAXADDR,
RsCreateByteField (InitializerNode, ASL_RESNAME_MAXADDR,
CurrentByteOffset + ASL_RESDESC_OFFSET (Iop.AddressMax));
break;
case 3: /* Alignment */
Descriptor->Iop.Alignment = InitializerNode->Value.Integer8;
RsCreateByteField (InitializerNode, ASL_RESNAME_ALIGNMENT,
RsCreateByteField (InitializerNode, ASL_RESNAME_ALIGNMENT,
CurrentByteOffset + ASL_RESDESC_OFFSET (Iop.Alignment));
break;
case 4: /* Length */
Descriptor->Iop.Length = InitializerNode->Value.Integer8;
RsCreateByteField (InitializerNode, ASL_RESNAME_LENGTH,
RsCreateByteField (InitializerNode, ASL_RESNAME_LENGTH,
CurrentByteOffset + ASL_RESDESC_OFFSET (Iop.Length));
break;
@ -395,13 +397,15 @@ RsDoIoDescriptor (
/*******************************************************************************
*
* FUNCTION:
* FUNCTION: RsDoIrqDescriptor
*
* PARAMETERS:
* PARAMETERS: Node - Parent resource descriptor parse node
* CurrentByteOffset - Offset into the resource template AML
* buffer (to track references to the desc)
*
* RETURN:
* RETURN: Completed resource node
*
* DESCRIPTION:
* DESCRIPTION: Construct a short "IRQ" descriptor
*
******************************************************************************/
@ -417,7 +421,6 @@ RsDoIrqDescriptor (
UINT16 IrqMask = 0;
InitializerNode = Node->Child;
Rnode = RsAllocateResourceNode (sizeof (ASL_IRQ_FORMAT_DESC));
@ -437,21 +440,21 @@ RsDoIrqDescriptor (
case 0: /* Interrupt Type (or Mode - edge/level) */
RsSetFlagBits (&Descriptor->Irq.Flags, InitializerNode, 0, 1);
RsCreateBitField (InitializerNode, ASL_RESNAME_INTERRUPTTYPE,
RsCreateBitField (InitializerNode, ASL_RESNAME_INTERRUPTTYPE,
CurrentByteOffset + ASL_RESDESC_OFFSET (Irq.Flags), 0);
break;
case 1: /* Interrupt Level (or Polarity - Active high/low) */
RsSetFlagBits (&Descriptor->Irq.Flags, InitializerNode, 3, 0);
RsCreateBitField (InitializerNode, ASL_RESNAME_INTERRUPTLEVEL,
RsCreateBitField (InitializerNode, ASL_RESNAME_INTERRUPTLEVEL,
CurrentByteOffset + ASL_RESDESC_OFFSET (Irq.Flags), 3);
break;
case 2: /* Share Type - Default: exclusive (0) */
RsSetFlagBits (&Descriptor->Irq.Flags, InitializerNode, 4, 0);
RsCreateBitField (InitializerNode, ASL_RESNAME_INTERRUPTSHARE,
RsCreateBitField (InitializerNode, ASL_RESNAME_INTERRUPTSHARE,
CurrentByteOffset + ASL_RESDESC_OFFSET (Irq.Flags), 4);
break;
@ -465,8 +468,8 @@ RsDoIrqDescriptor (
if (InitializerNode->ParseOpcode != DEFAULT_ARG)
{
IrqMask |= (1 << InitializerNode->Value.Integer8);
RsCreateByteField (InitializerNode, ASL_RESNAME_INTERRUPT,
RsCreateByteField (InitializerNode, ASL_RESNAME_INTERRUPT,
CurrentByteOffset + ASL_RESDESC_OFFSET (Irq.IrqMask));
}
break;
@ -493,16 +496,17 @@ RsDoIrqDescriptor (
}
/*******************************************************************************
*
* FUNCTION:
* FUNCTION: RsDoIrqNoFlagsDescriptor
*
* PARAMETERS:
* PARAMETERS: Node - Parent resource descriptor parse node
* CurrentByteOffset - Offset into the resource template AML
* buffer (to track references to the desc)
*
* RETURN:
* RETURN: Completed resource node
*
* DESCRIPTION:
* DESCRIPTION: Construct a short "IRQNoFlags" descriptor
*
******************************************************************************/
@ -518,7 +522,6 @@ RsDoIrqNoFlagsDescriptor (
UINT16 IrqMask = 0;
InitializerNode = Node->Child;
Rnode = RsAllocateResourceNode (sizeof (ASL_IRQ_NOFLAGS_DESC));
@ -544,7 +547,7 @@ RsDoIrqNoFlagsDescriptor (
{
IrqMask |= (1 << InitializerNode->Value.Integer8);
RsCreateByteField (InitializerNode, ASL_RESNAME_INTERRUPT,
RsCreateByteField (InitializerNode, ASL_RESNAME_INTERRUPT,
CurrentByteOffset + ASL_RESDESC_OFFSET (Irq.IrqMask));
}
break;
@ -567,21 +570,22 @@ RsDoIrqNoFlagsDescriptor (
/* Now we can set the interrupt mask */
Descriptor->Irq.IrqMask = IrqMask;
return (Rnode);
}
/*******************************************************************************
*
* FUNCTION:
* FUNCTION: RsDoMemory24Descriptor
*
* PARAMETERS:
* PARAMETERS: Node - Parent resource descriptor parse node
* CurrentByteOffset - Offset into the resource template AML
* buffer (to track references to the desc)
*
* RETURN:
* RETURN: Completed resource node
*
* DESCRIPTION:
* DESCRIPTION: Construct a short "Memory24" descriptor
*
******************************************************************************/
@ -596,7 +600,6 @@ RsDoMemory24Descriptor (
UINT32 i;
InitializerNode = Node->Child;
Rnode = RsAllocateResourceNode (sizeof (ASL_MEMORY_24_DESC));
@ -615,35 +618,35 @@ RsDoMemory24Descriptor (
case 0: /* Read/Write type */
RsSetFlagBits (&Descriptor->M24.Information, InitializerNode, 0, 1);
RsCreateBitField (InitializerNode, ASL_RESNAME_READWRITETYPE,
RsCreateBitField (InitializerNode, ASL_RESNAME_READWRITETYPE,
CurrentByteOffset + ASL_RESDESC_OFFSET (M24.Information), 0);
break;
case 1: /* Min Address */
Descriptor->M24.AddressMin = InitializerNode->Value.Integer16;
RsCreateByteField (InitializerNode, ASL_RESNAME_MINADDR,
RsCreateByteField (InitializerNode, ASL_RESNAME_MINADDR,
CurrentByteOffset + ASL_RESDESC_OFFSET (M24.AddressMin));
break;
case 2: /* Max Address */
Descriptor->M24.AddressMax = InitializerNode->Value.Integer16;
RsCreateByteField (InitializerNode, ASL_RESNAME_MAXADDR,
RsCreateByteField (InitializerNode, ASL_RESNAME_MAXADDR,
CurrentByteOffset + ASL_RESDESC_OFFSET (M24.AddressMax));
break;
case 3: /* Alignment */
Descriptor->M24.Alignment = InitializerNode->Value.Integer16;
RsCreateByteField (InitializerNode, ASL_RESNAME_ALIGNMENT,
RsCreateByteField (InitializerNode, ASL_RESNAME_ALIGNMENT,
CurrentByteOffset + ASL_RESDESC_OFFSET (M24.Alignment));
break;
case 4: /* Length */
Descriptor->M24.RangeLength = InitializerNode->Value.Integer16;
RsCreateByteField (InitializerNode, ASL_RESNAME_LENGTH,
RsCreateByteField (InitializerNode, ASL_RESNAME_LENGTH,
CurrentByteOffset + ASL_RESDESC_OFFSET (M24.RangeLength));
break;
@ -662,13 +665,15 @@ RsDoMemory24Descriptor (
/*******************************************************************************
*
* FUNCTION:
* FUNCTION: RsDoMemory32Descriptor
*
* PARAMETERS:
* PARAMETERS: Node - Parent resource descriptor parse node
* CurrentByteOffset - Offset into the resource template AML
* buffer (to track references to the desc)
*
* RETURN:
* RETURN: Completed resource node
*
* DESCRIPTION:
* DESCRIPTION: Construct a short "Memory32" descriptor
*
******************************************************************************/
@ -683,7 +688,6 @@ RsDoMemory32Descriptor (
UINT32 i;
InitializerNode = Node->Child;
Rnode = RsAllocateResourceNode (sizeof (ASL_MEMORY_32_DESC));
@ -702,35 +706,35 @@ RsDoMemory32Descriptor (
case 0: /* Read/Write type */
RsSetFlagBits (&Descriptor->M32.Information, InitializerNode, 0, 1);
RsCreateBitField (InitializerNode, ASL_RESNAME_READWRITETYPE,
RsCreateBitField (InitializerNode, ASL_RESNAME_READWRITETYPE,
CurrentByteOffset + ASL_RESDESC_OFFSET (M32.Information), 0);
break;
case 1: /* Min Address */
Descriptor->M32.AddressMin = InitializerNode->Value.Integer32;
RsCreateByteField (InitializerNode, ASL_RESNAME_MINADDR,
RsCreateByteField (InitializerNode, ASL_RESNAME_MINADDR,
CurrentByteOffset + ASL_RESDESC_OFFSET (M32.AddressMin));
break;
case 2: /* Max Address */
Descriptor->M32.AddressMax = InitializerNode->Value.Integer32;
RsCreateByteField (InitializerNode, ASL_RESNAME_MAXADDR,
RsCreateByteField (InitializerNode, ASL_RESNAME_MAXADDR,
CurrentByteOffset + ASL_RESDESC_OFFSET (M32.AddressMax));
break;
case 3: /* Alignment */
Descriptor->M32.Alignment = InitializerNode->Value.Integer32;
RsCreateByteField (InitializerNode, ASL_RESNAME_ALIGNMENT,
RsCreateByteField (InitializerNode, ASL_RESNAME_ALIGNMENT,
CurrentByteOffset + ASL_RESDESC_OFFSET (M32.Alignment));
break;
case 4: /* Length */
Descriptor->M32.RangeLength = InitializerNode->Value.Integer32;
RsCreateByteField (InitializerNode, ASL_RESNAME_LENGTH,
RsCreateByteField (InitializerNode, ASL_RESNAME_LENGTH,
CurrentByteOffset + ASL_RESDESC_OFFSET (M32.RangeLength));
break;
@ -749,13 +753,15 @@ RsDoMemory32Descriptor (
/*******************************************************************************
*
* FUNCTION:
* FUNCTION: RsDoMemory32FixedDescriptor
*
* PARAMETERS:
* PARAMETERS: Node - Parent resource descriptor parse node
* CurrentByteOffset - Offset into the resource template AML
* buffer (to track references to the desc)
*
* RETURN:
* RETURN: Completed resource node
*
* DESCRIPTION:
* DESCRIPTION: Construct a short "Memory32Fixed" descriptor
*
******************************************************************************/
@ -770,7 +776,6 @@ RsDoMemory32FixedDescriptor (
UINT32 i;
InitializerNode = Node->Child;
Rnode = RsAllocateResourceNode (sizeof (ASL_FIXED_MEMORY_32_DESC));
@ -789,21 +794,21 @@ RsDoMemory32FixedDescriptor (
case 0: /* Read/Write type */
RsSetFlagBits (&Descriptor->F32.Information, InitializerNode, 0, 1);
RsCreateBitField (InitializerNode, ASL_RESNAME_READWRITETYPE,
RsCreateBitField (InitializerNode, ASL_RESNAME_READWRITETYPE,
CurrentByteOffset + ASL_RESDESC_OFFSET (F32.Information), 0);
break;
case 1: /* Address */
Descriptor->F32.BaseAddress = InitializerNode->Value.Integer32;
RsCreateByteField (InitializerNode, ASL_RESNAME_BASEADDRESS,
RsCreateByteField (InitializerNode, ASL_RESNAME_BASEADDRESS,
CurrentByteOffset + ASL_RESDESC_OFFSET (F32.BaseAddress));
break;
case 2: /* Length */
Descriptor->F32.RangeLength = InitializerNode->Value.Integer32;
RsCreateByteField (InitializerNode, ASL_RESNAME_LENGTH,
RsCreateByteField (InitializerNode, ASL_RESNAME_LENGTH,
CurrentByteOffset + ASL_RESDESC_OFFSET (F32.RangeLength));
break;
@ -820,16 +825,17 @@ RsDoMemory32FixedDescriptor (
}
/*******************************************************************************
*
* FUNCTION:
* FUNCTION: RsDoStartDependentDescriptor
*
* PARAMETERS:
* PARAMETERS: Node - Parent resource descriptor parse node
* CurrentByteOffset - Offset into the resource template AML
* buffer (to track references to the desc)
*
* RETURN:
* RETURN: Completed resource node
*
* DESCRIPTION:
* DESCRIPTION: Construct a short "StartDependentFn" descriptor
*
******************************************************************************/
@ -846,10 +852,9 @@ RsDoStartDependentDescriptor (
UINT32 i;
InitializerNode = Node->Child;
Rnode = RsAllocateResourceNode (sizeof (ASL_START_DEPENDENT_DESC));
PreviousRnode = Rnode;
Descriptor = Rnode->Buffer;
@ -892,7 +897,7 @@ RsDoStartDependentDescriptor (
/* Finished with the StartDependent descriptor, update buffer pointer */
//*DescriptorPtr = NEXT_RESOURCE_DESC (Descriptor, ASL_START_DEPENDENT_DESC);
/* Fall through */
default:
@ -919,13 +924,15 @@ RsDoStartDependentDescriptor (
/*******************************************************************************
*
* FUNCTION:
* FUNCTION: RsDoStartDependentNoPriDescriptor
*
* PARAMETERS:
* PARAMETERS: Node - Parent resource descriptor parse node
* CurrentByteOffset - Offset into the resource template AML
* buffer (to track references to the desc)
*
* RETURN:
* RETURN: Completed resource node
*
* DESCRIPTION:
* DESCRIPTION: Construct a short "StartDependentNoPri" descriptor
*
******************************************************************************/
@ -941,7 +948,6 @@ RsDoStartDependentNoPriDescriptor (
ASL_RESOURCE_NODE *NextRnode;
InitializerNode = Node->Child;
Rnode = RsAllocateResourceNode (sizeof (ASL_START_DEPENDENT_NOPRIO_DESC));
@ -974,13 +980,15 @@ RsDoStartDependentNoPriDescriptor (
/*******************************************************************************
*
* FUNCTION:
* FUNCTION: RsDoVendorSmallDescriptor
*
* PARAMETERS:
* PARAMETERS: Node - Parent resource descriptor parse node
* CurrentByteOffset - Offset into the resource template AML
* buffer (to track references to the desc)
*
* RETURN:
* RETURN: Completed resource node
*
* DESCRIPTION:
* DESCRIPTION: Construct a short "VendorShort" descriptor
*
******************************************************************************/
@ -995,7 +1003,6 @@ RsDoVendorSmallDescriptor (
UINT32 i;
InitializerNode = Node->Child;
Rnode = RsAllocateResourceNode (sizeof (ASL_SMALL_VENDOR_DESC));
@ -1003,7 +1010,6 @@ RsDoVendorSmallDescriptor (
Descriptor->Std.DescriptorType = RESOURCE_DESC_SMALL_VENDOR;
/*
* Process all child initialization nodes
*/
@ -1022,6 +1028,3 @@ RsDoVendorSmallDescriptor (
}

File diff suppressed because it is too large Load Diff