]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ACPICA: Update internal address SpaceID for DataTable regions
authorBob Moore <robert.moore@intel.com>
Wed, 13 Apr 2011 05:19:35 +0000 (13:19 +0800)
committerLen Brown <len.brown@intel.com>
Tue, 10 May 2011 02:16:11 +0000 (22:16 -0400)
Moved this internal space id in preparation for ACPI 5.0 changes
that will include some new space IDs.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/acpica/acconfig.h
drivers/acpi/acpica/amlcode.h
drivers/acpi/acpica/dswload.c
drivers/acpi/acpica/dswload2.c
drivers/acpi/acpica/excreate.c
drivers/acpi/acpica/utdecode.c
include/acpi/actypes.h

index ab87396c2c07452c2f6b8485591103a6280d9b10..c115bb9bd4d3ab686c6ac911b02beb8f10c6427f 100644 (file)
 
 /* Operation regions */
 
-#define ACPI_NUM_PREDEFINED_REGIONS     9
+#define ACPI_NUM_PREDEFINED_REGIONS     8
 #define ACPI_USER_REGION_BEGIN          0x80
 
 /* Maximum space_ids for Operation Regions */
index f4f0998d3967ef86511de9b06adf37b6dcaa990f..1077f17859ed3d3fb74d2280966b2a847025e424 100644 (file)
 #define AML_CLASS_METHOD_CALL       0x09
 #define AML_CLASS_UNKNOWN           0x0A
 
-/* Predefined Operation Region space_iDs */
-
-typedef enum {
-       REGION_MEMORY = 0,
-       REGION_IO,
-       REGION_PCI_CONFIG,
-       REGION_EC,
-       REGION_SMBUS,
-       REGION_CMOS,
-       REGION_PCI_BAR,
-       REGION_IPMI,
-       REGION_DATA_TABLE,      /* Internal use only */
-       REGION_FIXED_HW = 0x7F
-} AML_REGION_TYPES;
-
 /* Comparison operation codes for match_op operator */
 
 typedef enum {
index 23a3b1ab20c1c0ec0cc62cdbc5419c77da6fcb8f..324acec1179abaef80d5bb6fdbbd50e2f4106469 100644 (file)
@@ -450,7 +450,7 @@ acpi_status acpi_ds_load1_end_op(struct acpi_walk_state *walk_state)
                        status =
                            acpi_ex_create_region(op->named.data,
                                                  op->named.length,
-                                                 REGION_DATA_TABLE,
+                                                 ACPI_ADR_SPACE_DATA_TABLE,
                                                  walk_state);
                        if (ACPI_FAILURE(status)) {
                                return_ACPI_STATUS(status);
index 4be4e921dfe1b0bc7b79c81335a78aac1f4a3b67..976318138c56aa983f74f3786f4016040354d44c 100644 (file)
@@ -562,7 +562,7 @@ acpi_status acpi_ds_load2_end_op(struct acpi_walk_state *walk_state)
                                    ((op->common.value.arg)->common.value.
                                     integer);
                        } else {
-                               region_space = REGION_DATA_TABLE;
+                               region_space = ACPI_ADR_SPACE_DATA_TABLE;
                        }
 
                        /*
index e7b372d176671e02383788e31f8a3490aa1debc9..110711afada8be5c0b769c693c6fd3b624251ef4 100644 (file)
@@ -305,7 +305,8 @@ acpi_ex_create_region(u8 * aml_start,
         * range
         */
        if ((region_space >= ACPI_NUM_PREDEFINED_REGIONS) &&
-           (region_space < ACPI_USER_REGION_BEGIN)) {
+           (region_space < ACPI_USER_REGION_BEGIN) &&
+           (region_space != ACPI_ADR_SPACE_DATA_TABLE)) {
                ACPI_ERROR((AE_INFO, "Invalid AddressSpace type 0x%X",
                            region_space));
                return_ACPI_STATUS(AE_AML_INVALID_SPACE_ID);
index 136a814cec69d15857856158760560499ccd4207..97cb36f85ce9d4e98f8e5576df9a4d70a049aeb6 100644 (file)
@@ -170,8 +170,7 @@ const char *acpi_gbl_region_types[ACPI_NUM_PREDEFINED_REGIONS] = {
        "SMBus",
        "SystemCMOS",
        "PCIBARTarget",
-       "IPMI",
-       "DataTable"
+       "IPMI"
 };
 
 char *acpi_ut_get_region_name(u8 space_id)
@@ -179,6 +178,8 @@ char *acpi_ut_get_region_name(u8 space_id)
 
        if (space_id >= ACPI_USER_REGION_BEGIN) {
                return ("UserDefinedRegion");
+       } else if (space_id == ACPI_ADR_SPACE_DATA_TABLE) {
+               return ("DataTable");
        } else if (space_id == ACPI_ADR_SPACE_FIXED_HARDWARE) {
                return ("FunctionalFixedHW");
        } else if (space_id >= ACPI_NUM_PREDEFINED_REGIONS) {
index 64f838beaabffdeead528c4aaf2c4240fb9e9701..ad77c613c743a3722eeeb8d015622bda8ab819f4 100644 (file)
@@ -712,8 +712,17 @@ typedef u8 acpi_adr_space_type;
 #define ACPI_ADR_SPACE_CMOS             (acpi_adr_space_type) 5
 #define ACPI_ADR_SPACE_PCI_BAR_TARGET   (acpi_adr_space_type) 6
 #define ACPI_ADR_SPACE_IPMI             (acpi_adr_space_type) 7
-#define ACPI_ADR_SPACE_DATA_TABLE       (acpi_adr_space_type) 8
-#define ACPI_ADR_SPACE_FIXED_HARDWARE   (acpi_adr_space_type) 127
+
+/*
+ * Special region types
+ *
+ * Note: A Data Table region is a special type of operation region
+ * that has its own AML opcode. However, internally, the AML
+ * interpreter simply creates an operation region with an an address
+ * space type of ACPI_ADR_SPACE_DATA_TABLE.
+ */
+#define ACPI_ADR_SPACE_DATA_TABLE       (acpi_adr_space_type) 0x7E     /* Internal to ACPICA only */
+#define ACPI_ADR_SPACE_FIXED_HARDWARE   (acpi_adr_space_type) 0x7F
 
 /*
  * bit_register IDs