exstore.c (bf61c8840efe60fd8f91446860b63338fb424158) exstore.c (1d1ea1b723d9f239f736b8cf284327cbbf9d15d1)
1/******************************************************************************
2 *
3 * Module Name: exstore - AML Interpreter object store support
4 *
5 *****************************************************************************/
6
7/*
8 * Copyright (C) 2000 - 2013, Intel Corp.

--- 100 unchanged lines hidden (view full) ---

109
110 return_ACPI_STATUS(status);
111 }
112
113 /* Destination object must be a Reference or a Constant object */
114
115 switch (dest_desc->common.type) {
116 case ACPI_TYPE_LOCAL_REFERENCE:
1/******************************************************************************
2 *
3 * Module Name: exstore - AML Interpreter object store support
4 *
5 *****************************************************************************/
6
7/*
8 * Copyright (C) 2000 - 2013, Intel Corp.

--- 100 unchanged lines hidden (view full) ---

109
110 return_ACPI_STATUS(status);
111 }
112
113 /* Destination object must be a Reference or a Constant object */
114
115 switch (dest_desc->common.type) {
116 case ACPI_TYPE_LOCAL_REFERENCE:
117
117 break;
118
119 case ACPI_TYPE_INTEGER:
120
121 /* Allow stores to Constants -- a Noop as per ACPI spec */
122
123 if (dest_desc->common.flags & AOPOBJ_AML_CONSTANT) {
124 return_ACPI_STATUS(AE_OK);

--- 48 unchanged lines hidden (view full) ---

173
174 status =
175 acpi_ds_store_object_to_local(ref_desc->reference.class,
176 ref_desc->reference.value,
177 source_desc, walk_state);
178 break;
179
180 case ACPI_REFCLASS_DEBUG:
118 break;
119
120 case ACPI_TYPE_INTEGER:
121
122 /* Allow stores to Constants -- a Noop as per ACPI spec */
123
124 if (dest_desc->common.flags & AOPOBJ_AML_CONSTANT) {
125 return_ACPI_STATUS(AE_OK);

--- 48 unchanged lines hidden (view full) ---

174
175 status =
176 acpi_ds_store_object_to_local(ref_desc->reference.class,
177 ref_desc->reference.value,
178 source_desc, walk_state);
179 break;
180
181 case ACPI_REFCLASS_DEBUG:
181
182 /*
183 * Storing to the Debug object causes the value stored to be
184 * displayed and otherwise has no effect -- see ACPI Specification
185 */
186 ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
187 "**** Write to Debug Object: Object %p %s ****:\n\n",
188 source_desc,
189 acpi_ut_get_object_type_name(source_desc)));

--- 96 unchanged lines hidden (view full) ---

286 index_desc->reference.object)->common.
287 reference_count; i++) {
288 acpi_ut_add_reference(new_desc);
289 }
290
291 break;
292
293 case ACPI_TYPE_BUFFER_FIELD:
182 /*
183 * Storing to the Debug object causes the value stored to be
184 * displayed and otherwise has no effect -- see ACPI Specification
185 */
186 ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
187 "**** Write to Debug Object: Object %p %s ****:\n\n",
188 source_desc,
189 acpi_ut_get_object_type_name(source_desc)));

--- 96 unchanged lines hidden (view full) ---

286 index_desc->reference.object)->common.
287 reference_count; i++) {
288 acpi_ut_add_reference(new_desc);
289 }
290
291 break;
292
293 case ACPI_TYPE_BUFFER_FIELD:
294
295 /*
296 * Store into a Buffer or String (not actually a real buffer_field)
297 * at a location defined by an Index.
298 *
299 * The first 8-bit element of the source object is written to the
300 * 8-bit Buffer location defined by the Index destination object,
301 * according to the ACPI 2.0 specification.
302 */

--- 139 unchanged lines hidden (view full) ---

442
443 status = acpi_ex_write_data_to_field(source_desc, target_desc,
444 &walk_state->result_obj);
445 break;
446
447 case ACPI_TYPE_INTEGER:
448 case ACPI_TYPE_STRING:
449 case ACPI_TYPE_BUFFER:
294 /*
295 * Store into a Buffer or String (not actually a real buffer_field)
296 * at a location defined by an Index.
297 *
298 * The first 8-bit element of the source object is written to the
299 * 8-bit Buffer location defined by the Index destination object,
300 * according to the ACPI 2.0 specification.
301 */

--- 139 unchanged lines hidden (view full) ---

441
442 status = acpi_ex_write_data_to_field(source_desc, target_desc,
443 &walk_state->result_obj);
444 break;
445
446 case ACPI_TYPE_INTEGER:
447 case ACPI_TYPE_STRING:
448 case ACPI_TYPE_BUFFER:
450
451 /*
452 * These target types are all of type Integer/String/Buffer, and
453 * therefore support implicit conversion before the store.
454 *
455 * Copy and/or convert the source object to a new target object
456 */
457 status =
458 acpi_ex_store_object_to_object(source_desc, target_desc,

--- 63 unchanged lines hidden ---
449 /*
450 * These target types are all of type Integer/String/Buffer, and
451 * therefore support implicit conversion before the store.
452 *
453 * Copy and/or convert the source object to a new target object
454 */
455 status =
456 acpi_ex_store_object_to_object(source_desc, target_desc,

--- 63 unchanged lines hidden ---