mirror of
https://github.com/torvalds/linux.git
synced 2026-09-15 15:01:08 -04:00
[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:
@@ -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 */
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user