[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:
Bob Moore
2005-10-21 00:00:00 -04:00
committed by Len Brown
parent 50eca3eb89
commit 0897831bb5
32 changed files with 2541 additions and 3248 deletions

View File

@@ -134,7 +134,7 @@ struct aml_resource_end_dependent {
AML_RESOURCE_SMALL_HEADER_COMMON};
struct aml_resource_io {
AML_RESOURCE_SMALL_HEADER_COMMON u8 information;
AML_RESOURCE_SMALL_HEADER_COMMON u8 flags;
u16 minimum;
u16 maximum;
u8 alignment;
@@ -164,7 +164,7 @@ struct aml_resource_large_header {
AML_RESOURCE_LARGE_HEADER_COMMON};
struct aml_resource_memory24 {
AML_RESOURCE_LARGE_HEADER_COMMON u8 information;
AML_RESOURCE_LARGE_HEADER_COMMON u8 flags;
u16 minimum;
u16 maximum;
u16 alignment;
@@ -175,7 +175,7 @@ struct aml_resource_vendor_large {
AML_RESOURCE_LARGE_HEADER_COMMON};
struct aml_resource_memory32 {
AML_RESOURCE_LARGE_HEADER_COMMON u8 information;
AML_RESOURCE_LARGE_HEADER_COMMON u8 flags;
u32 minimum;
u32 maximum;
u32 alignment;
@@ -183,7 +183,7 @@ struct aml_resource_memory32 {
};
struct aml_resource_fixed_memory32 {
AML_RESOURCE_LARGE_HEADER_COMMON u8 information;
AML_RESOURCE_LARGE_HEADER_COMMON u8 flags;
u32 address;
u32 address_length;
};
@@ -205,7 +205,7 @@ struct aml_resource_extended_address64 {
u64 maximum;
u64 translation_offset;
u64 address_length;
u64 type_specific_attributes;
u64 type_specific;
};
#define AML_RESOURCE_EXTENDED_ADDRESS_REVISION 1 /* ACPI 3.0 */
@@ -239,8 +239,8 @@ struct aml_resource_address16 {
struct aml_resource_extended_irq {
AML_RESOURCE_LARGE_HEADER_COMMON u8 flags;
u8 table_length;
u32 interrupt_number[1];
u8 interrupt_count;
u32 interrupts[1];
/* res_source_index, res_source optional fields follow */
};