Author: cgutman
Date: Mon Mar 26 19:34:53 2012
New Revision: 56239
URL:
http://svn.reactos.org/svn/reactos?rev=56239&view=rev
Log:
[ACPI]
- Add translation code for ACPI_RESOURCE_TYPE_FIXED_IO
Modified:
trunk/reactos/drivers/bus/acpi/buspdo.c
Modified: trunk/reactos/drivers/bus/acpi/buspdo.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/bus/acpi/buspdo.c?…
==============================================================================
--- trunk/reactos/drivers/bus/acpi/buspdo.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/bus/acpi/buspdo.c [iso-8859-1] Mon Mar 26 19:34:53 2012
@@ -775,6 +775,7 @@
case ACPI_RESOURCE_TYPE_MEMORY24:
case ACPI_RESOURCE_TYPE_MEMORY32:
case ACPI_RESOURCE_TYPE_FIXED_MEMORY32:
+ case ACPI_RESOURCE_TYPE_FIXED_IO:
case ACPI_RESOURCE_TYPE_IO:
{
NumberOfResources++;
@@ -895,6 +896,18 @@
ResourceDescriptor++;
break;
}
+ case ACPI_RESOURCE_TYPE_FIXED_IO:
+ {
+ ACPI_RESOURCE_FIXED_IO *io_data = (ACPI_RESOURCE_FIXED_IO*)
&resource->Data;
+ ResourceDescriptor->Type = CmResourceTypePort;
+ ResourceDescriptor->ShareDisposition =
CmResourceShareDriverExclusive;
+ ResourceDescriptor->Flags = CM_RESOURCE_PORT_IO;
+ ResourceDescriptor->u.Port.Start.QuadPart = io_data->Address;
+ ResourceDescriptor->u.Port.Length = io_data->AddressLength;
+
+ ResourceDescriptor++;
+ break;
+ }
case ACPI_RESOURCE_TYPE_ADDRESS16:
{
ACPI_RESOURCE_ADDRESS16 *addr16_data = (ACPI_RESOURCE_ADDRESS16*)
&resource->Data;
@@ -1236,6 +1249,7 @@
case ACPI_RESOURCE_TYPE_MEMORY24:
case ACPI_RESOURCE_TYPE_MEMORY32:
case ACPI_RESOURCE_TYPE_FIXED_MEMORY32:
+ case ACPI_RESOURCE_TYPE_FIXED_IO:
case ACPI_RESOURCE_TYPE_IO:
{
NumberOfResources++;
@@ -1356,6 +1370,21 @@
RequirementDescriptor++;
break;
}
+ case ACPI_RESOURCE_TYPE_FIXED_IO:
+ {
+ ACPI_RESOURCE_FIXED_IO *io_data = (ACPI_RESOURCE_FIXED_IO*)
&resource->Data;
+ RequirementDescriptor->Flags = CM_RESOURCE_PORT_IO;
+ RequirementDescriptor->u.Port.Length = io_data->AddressLength;
+ RequirementDescriptor->Option = CurrentRes ? 0 :
IO_RESOURCE_PREFERRED;
+ RequirementDescriptor->Type = CmResourceTypePort;
+ RequirementDescriptor->ShareDisposition =
CmResourceShareDriverExclusive;
+ RequirementDescriptor->u.Port.Alignment = 1;
+ RequirementDescriptor->u.Port.MinimumAddress.QuadPart =
io_data->Address;
+ RequirementDescriptor->u.Port.MaximumAddress.QuadPart =
io_data->Address + io_data->AddressLength - 1;
+
+ RequirementDescriptor++;
+ break;
+ }
case ACPI_RESOURCE_TYPE_ADDRESS16:
{
ACPI_RESOURCE_ADDRESS16 *addr16_data = (ACPI_RESOURCE_ADDRESS16*)
&resource->Data;