summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2004-12-21 06:57:44 -0500
committerLen Brown <lenb@dhcppc3.>2004-12-21 06:57:44 -0500
commit26ad1247fc37d88b543ed1d5b6148ebeebfb2c55 (patch)
treedabad75e7455a873318f526ceea7536a06e3869d /include
parentce8f5e23e85dd7c052777cf19a90afa14541cd98 (diff)
[ACPI] ACPICA 20041210 from Bob Moore
ACPI 3.0 support is nearing completion in both the iASL compiler and the ACPI CA core subsystem. Fixed a problem in the ToDecimalString operator where the resulting string length was incorrectly calculated. The length is now calculated exactly, eliminating incorrect AE_STRING_LIMIT exceptions. Fixed a problem in the ToHexString operator to allow a maximum 200 character string to be produced. Fixed a problem in the internal string-to-buffer and buffer-to-buffer copy routine where the length of the resulting buffer was not truncated to the new size (if the target buffer already existed). Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include')
-rw-r--r--include/acpi/acconfig.h4
-rw-r--r--include/acpi/acdisasm.h6
-rw-r--r--include/acpi/aclocal.h2
-rw-r--r--include/acpi/actbl2.h2
-rw-r--r--include/acpi/amlresrc.h26
5 files changed, 35 insertions, 5 deletions
diff --git a/include/acpi/acconfig.h b/include/acpi/acconfig.h
index 9949b1c51c22..87004b5d8e1f 100644
--- a/include/acpi/acconfig.h
+++ b/include/acpi/acconfig.h
@@ -64,7 +64,7 @@
/* Version string */
-#define ACPI_CA_VERSION 0x20041203
+#define ACPI_CA_VERSION 0x20041210
/*
* OS name, used for the _OS object. The _OS object is essentially obsolete,
@@ -99,7 +99,7 @@
/* Version of ACPI supported */
-#define ACPI_CA_SUPPORT_LEVEL 2
+#define ACPI_CA_SUPPORT_LEVEL 3
/* String size constants */
diff --git a/include/acpi/acdisasm.h b/include/acpi/acdisasm.h
index 67f6c5cfd5c7..61e82679de6c 100644
--- a/include/acpi/acdisasm.h
+++ b/include/acpi/acdisasm.h
@@ -317,6 +317,12 @@ acpi_dm_dword_descriptor (
u32 level);
void
+acpi_dm_extended_descriptor (
+ struct asl_extended_address_desc *resource,
+ u32 length,
+ u32 level);
+
+void
acpi_dm_qword_descriptor (
struct asl_qword_address_desc *resource,
u32 length,
diff --git a/include/acpi/aclocal.h b/include/acpi/aclocal.h
index da7dbb95a229..545a2b7bb4d9 100644
--- a/include/acpi/aclocal.h
+++ b/include/acpi/aclocal.h
@@ -862,7 +862,6 @@ struct acpi_bit_register_info
/*
* Large resource descriptor types
*/
-
#define ACPI_RDESC_TYPE_MEMORY_24 0x81
#define ACPI_RDESC_TYPE_GENERAL_REGISTER 0x82
#define ACPI_RDESC_TYPE_LARGE_VENDOR 0x84
@@ -872,6 +871,7 @@ struct acpi_bit_register_info
#define ACPI_RDESC_TYPE_WORD_ADDRESS_SPACE 0x88
#define ACPI_RDESC_TYPE_EXTENDED_XRUPT 0x89
#define ACPI_RDESC_TYPE_QWORD_ADDRESS_SPACE 0x8A
+#define ACPI_RDESC_TYPE_EXTENDED_ADDRESS_SPACE 0x8B
/*****************************************************************************
diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h
index 44716e46ce6e..0793908812e8 100644
--- a/include/acpi/actbl2.h
+++ b/include/acpi/actbl2.h
@@ -115,7 +115,7 @@ struct acpi_generic_address
u8 address_space_id; /* Address space where struct or register exists. */
u8 register_bit_width; /* Size in bits of given register */
u8 register_bit_offset; /* Bit offset within the register */
- u8 reserved; /* Must be 0 */
+ u8 access_width; /* Minimum Access size (ACPI 3.0) */
u64 address; /* 64-bit address of struct or register */
};
diff --git a/include/acpi/amlresrc.h b/include/acpi/amlresrc.h
index 89a52ddae530..c59098770ad1 100644
--- a/include/acpi/amlresrc.h
+++ b/include/acpi/amlresrc.h
@@ -50,6 +50,8 @@
#define ASL_RESNAME_ADDRESS "_ADR"
#define ASL_RESNAME_ALIGNMENT "_ALN"
#define ASL_RESNAME_ADDRESSSPACE "_ASI"
+#define ASL_RESNAME_ACCESSSIZE "_ASZ"
+#define ASL_RESNAME_TYPESPECIFICATTRIBUTES "_ATT"
#define ASL_RESNAME_BASEADDRESS "_BAS"
#define ASL_RESNAME_BUSMASTER "_BM_" /* Master(1), Slave(0) */
#define ASL_RESNAME_DECODE "_DEC"
@@ -223,6 +225,27 @@ struct asl_fixed_memory_32_desc
};
+struct asl_extended_address_desc
+{
+ u8 descriptor_type;
+ u16 length;
+ u8 resource_type;
+ u8 flags;
+ u8 specific_flags;
+ u8 revision_iD;
+ u8 reserved;
+ u64 granularity;
+ u64 address_min;
+ u64 address_max;
+ u64 translation_offset;
+ u64 address_length;
+ u64 type_specific_attributes;
+ u8 optional_fields[2]; /* Used for length calculation only */
+};
+
+#define ASL_EXTENDED_ADDRESS_DESC_REVISION 1 /* ACPI 3.0 */
+
+
struct asl_qword_address_desc
{
u8 descriptor_type;
@@ -289,7 +312,7 @@ struct asl_general_register_desc
u8 address_space_id;
u8 bit_width;
u8 bit_offset;
- u8 reserved;
+ u8 access_size; /* ACPI 3.0, was Reserved */
u64 address;
};
@@ -317,6 +340,7 @@ union asl_resource_desc
struct asl_qword_address_desc qas;
struct asl_dword_address_desc das;
struct asl_word_address_desc was;
+ struct asl_extended_address_desc eas;
struct asl_extended_xrupt_desc exx;
struct asl_general_register_desc grg;
u32 u32_item;