[ACPI] ACPICA 20051021
Implemented support for the EM64T and other x86_64 processors. This essentially entails recognizing that these processors support non-aligned memory transfers. Previously, all 64-bit processors were assumed to lack hardware support for non-aligned transfers. Completed conversion of the Resource Manager to nearly full table-driven operation. Specifically, the resource conversion code (convert AML to internal format and the reverse) and the debug code to dump internal resource descriptors are fully table-driven, reducing code and data size and improving maintainability. The OSL interfaces for Acquire and Release Lock now use a 64-bit flag word on 64-bit processors instead of a fixed 32-bit word. (Alexey Starikovskiy) Implemented support within the resource conversion code for the Type-Specific byte within the various ACPI 3.0 *WordSpace macros. Fixed some issues within the resource conversion code for the type-specific flags for both Memory and I/O address resource descriptors. For Memory, implemented support for the MTP and TTP flags. For I/O, split the TRS and TTP flags into two separate fields. Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
@@ -401,7 +401,7 @@ pnpacpi_parse_mem24_option(struct pnp_option *option,
|
||||
mem->align = p->alignment;
|
||||
mem->size = p->address_length;
|
||||
|
||||
mem->flags = (ACPI_READ_WRITE_MEMORY == p->read_write_attribute) ?
|
||||
mem->flags = (ACPI_READ_WRITE_MEMORY == p->write_protect) ?
|
||||
IORESOURCE_MEM_WRITEABLE : 0;
|
||||
|
||||
pnp_register_mem_resource(option,mem);
|
||||
@@ -424,7 +424,7 @@ pnpacpi_parse_mem32_option(struct pnp_option *option,
|
||||
mem->align = p->alignment;
|
||||
mem->size = p->address_length;
|
||||
|
||||
mem->flags = (ACPI_READ_WRITE_MEMORY == p->read_write_attribute) ?
|
||||
mem->flags = (ACPI_READ_WRITE_MEMORY == p->write_protect) ?
|
||||
IORESOURCE_MEM_WRITEABLE : 0;
|
||||
|
||||
pnp_register_mem_resource(option,mem);
|
||||
@@ -446,7 +446,7 @@ pnpacpi_parse_fixed_mem32_option(struct pnp_option *option,
|
||||
mem->size = p->address_length;
|
||||
mem->align = 0;
|
||||
|
||||
mem->flags = (ACPI_READ_WRITE_MEMORY == p->read_write_attribute) ?
|
||||
mem->flags = (ACPI_READ_WRITE_MEMORY == p->write_protect) ?
|
||||
IORESOURCE_MEM_WRITEABLE : 0;
|
||||
|
||||
pnp_register_mem_resource(option,mem);
|
||||
@@ -734,7 +734,7 @@ static void pnpacpi_encode_mem24(struct acpi_resource *resource,
|
||||
resource->type = ACPI_RESOURCE_TYPE_MEMORY24;
|
||||
resource->length = sizeof(struct acpi_resource);
|
||||
/* Note: pnp_assign_mem will copy pnp_mem->flags into p->flags */
|
||||
resource->data.memory24.read_write_attribute =
|
||||
resource->data.memory24.write_protect =
|
||||
(p->flags & IORESOURCE_MEM_WRITEABLE) ?
|
||||
ACPI_READ_WRITE_MEMORY : ACPI_READ_ONLY_MEMORY;
|
||||
resource->data.memory24.minimum = p->start;
|
||||
@@ -748,7 +748,7 @@ static void pnpacpi_encode_mem32(struct acpi_resource *resource,
|
||||
{
|
||||
resource->type = ACPI_RESOURCE_TYPE_MEMORY32;
|
||||
resource->length = sizeof(struct acpi_resource);
|
||||
resource->data.memory32.read_write_attribute =
|
||||
resource->data.memory32.write_protect =
|
||||
(p->flags & IORESOURCE_MEM_WRITEABLE) ?
|
||||
ACPI_READ_WRITE_MEMORY : ACPI_READ_ONLY_MEMORY;
|
||||
resource->data.memory32.minimum = p->start;
|
||||
@@ -762,7 +762,7 @@ static void pnpacpi_encode_fixed_mem32(struct acpi_resource *resource,
|
||||
{
|
||||
resource->type = ACPI_RESOURCE_TYPE_FIXED_MEMORY32;
|
||||
resource->length = sizeof(struct acpi_resource);
|
||||
resource->data.fixed_memory32.read_write_attribute =
|
||||
resource->data.fixed_memory32.write_protect =
|
||||
(p->flags & IORESOURCE_MEM_WRITEABLE) ?
|
||||
ACPI_READ_WRITE_MEMORY : ACPI_READ_ONLY_MEMORY;
|
||||
resource->data.fixed_memory32.address = p->start;
|
||||
|
Reference in New Issue
Block a user