diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2011-11-23 18:05:37 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2011-11-23 18:05:37 +0000 |
commit | 50796274dc74454ca64a6e120552adb2620c3e65 (patch) | |
tree | 91526f3e19920a98573c3d04bbef39cd71a7c0ce /compiler/aslresource.c | |
parent | 33c583d0c71a12a703f849679505114e27bba011 (diff) | |
download | src-50796274dc74454ca64a6e120552adb2620c3e65.tar.gz src-50796274dc74454ca64a6e120552adb2620c3e65.zip |
Import ACPICA 20111123.vendor/acpica/20111123
Notes
Notes:
svn path=/vendor-sys/acpica/dist/; revision=227896
svn path=/vendor-sys/acpica/20111123/; revision=227897; tag=vendor/acpica/20111123
Diffstat (limited to 'compiler/aslresource.c')
-rw-r--r-- | compiler/aslresource.c | 58 |
1 files changed, 56 insertions, 2 deletions
diff --git a/compiler/aslresource.c b/compiler/aslresource.c index 0954b8460d5d..d614f1ad4e04 100644 --- a/compiler/aslresource.c +++ b/compiler/aslresource.c @@ -513,6 +513,29 @@ RsSetFlagBits ( } +void +RsSetFlagBits16 ( + UINT16 *Flags, + ACPI_PARSE_OBJECT *Op, + UINT8 Position, + UINT8 DefaultBit) +{ + + if (Op->Asl.ParseOpcode == PARSEOP_DEFAULT_ARG) + { + /* Use the default bit */ + + *Flags |= (DefaultBit << Position); + } + else + { + /* Use the bit specified in the initialization node */ + + *Flags |= (((UINT16) Op->Asl.Value.Integer) << Position); + } +} + + /******************************************************************************* * * FUNCTION: RsCompleteNodeAndGetNext @@ -637,6 +660,11 @@ RsDoOneResourceDescriptor ( CurrentByteOffset); break; + case PARSEOP_FIXEDDMA: + Rnode = RsDoFixedDmaDescriptor (DescriptorTypeOp, + CurrentByteOffset); + break; + case PARSEOP_DWORDIO: Rnode = RsDoDwordIoDescriptor (DescriptorTypeOp, CurrentByteOffset); @@ -820,6 +848,31 @@ RsDoOneResourceDescriptor ( CurrentByteOffset); break; + case PARSEOP_GPIO_INT: + Rnode = RsDoGpioIntDescriptor (DescriptorTypeOp, + CurrentByteOffset); + break; + + case PARSEOP_GPIO_IO: + Rnode = RsDoGpioIoDescriptor (DescriptorTypeOp, + CurrentByteOffset); + break; + + case PARSEOP_I2C_SERIALBUS: + Rnode = RsDoI2cSerialBusDescriptor (DescriptorTypeOp, + CurrentByteOffset); + break; + + case PARSEOP_SPI_SERIALBUS: + Rnode = RsDoSpiSerialBusDescriptor (DescriptorTypeOp, + CurrentByteOffset); + break; + + case PARSEOP_UART_SERIALBUS: + Rnode = RsDoUartSerialBusDescriptor (DescriptorTypeOp, + CurrentByteOffset); + break; + case PARSEOP_DEFAULT_ARG: /* Just ignore any of these, they are used as fillers/placeholders */ break; @@ -994,10 +1047,12 @@ RsDoResourceTemplate ( Op->Asl.ParseOpcode = PARSEOP_BUFFER; Op->Asl.AmlOpcode = AML_BUFFER_OP; Op->Asl.CompileFlags = NODE_AML_PACKAGE | NODE_IS_RESOURCE_DESC; + UtSetParseOpName (Op); BufferLengthOp->Asl.ParseOpcode = PARSEOP_INTEGER; BufferLengthOp->Asl.Value.Integer = CurrentByteOffset; (void) OpcSetOptimalIntegerSize (BufferLengthOp); + UtSetParseOpName (BufferLengthOp); BufferOp->Asl.ParseOpcode = PARSEOP_RAW_DATA; BufferOp->Asl.AmlOpcode = AML_RAW_DATA_CHAIN; @@ -1005,8 +1060,7 @@ RsDoResourceTemplate ( BufferOp->Asl.AmlLength = CurrentByteOffset; BufferOp->Asl.Value.Buffer = (UINT8 *) HeadRnode.Next; BufferOp->Asl.CompileFlags |= NODE_IS_RESOURCE_DATA; + UtSetParseOpName (BufferOp); return; } - - |