diff options
Diffstat (limited to 'include/acpi/acinterp.h')
-rw-r--r-- | include/acpi/acinterp.h | 243 |
1 files changed, 70 insertions, 173 deletions
diff --git a/include/acpi/acinterp.h b/include/acpi/acinterp.h index c5301f5ffaf4..5c7172477a0f 100644 --- a/include/acpi/acinterp.h +++ b/include/acpi/acinterp.h | |||
@@ -48,37 +48,9 @@ | |||
48 | #define ACPI_WALK_OPERANDS (&(walk_state->operands [walk_state->num_operands -1])) | 48 | #define ACPI_WALK_OPERANDS (&(walk_state->operands [walk_state->num_operands -1])) |
49 | 49 | ||
50 | 50 | ||
51 | acpi_status | ||
52 | acpi_ex_resolve_operands ( | ||
53 | u16 opcode, | ||
54 | union acpi_operand_object **stack_ptr, | ||
55 | struct acpi_walk_state *walk_state); | ||
56 | |||
57 | acpi_status | ||
58 | acpi_ex_check_object_type ( | ||
59 | acpi_object_type type_needed, | ||
60 | acpi_object_type this_type, | ||
61 | void *object); | ||
62 | |||
63 | /* | ||
64 | * exxface - External interpreter interfaces | ||
65 | */ | ||
66 | |||
67 | acpi_status | ||
68 | acpi_ex_load_table ( | ||
69 | acpi_table_type table_id); | ||
70 | |||
71 | acpi_status | ||
72 | acpi_ex_execute_method ( | ||
73 | struct acpi_namespace_node *method_node, | ||
74 | union acpi_operand_object **params, | ||
75 | union acpi_operand_object **return_obj_desc); | ||
76 | |||
77 | |||
78 | /* | 51 | /* |
79 | * exconvrt - object conversion | 52 | * exconvrt - object conversion |
80 | */ | 53 | */ |
81 | |||
82 | acpi_status | 54 | acpi_status |
83 | acpi_ex_convert_to_integer ( | 55 | acpi_ex_convert_to_integer ( |
84 | union acpi_operand_object *obj_desc, | 56 | union acpi_operand_object *obj_desc, |
@@ -110,17 +82,10 @@ acpi_ex_convert_to_target_type ( | |||
110 | union acpi_operand_object **result_desc, | 82 | union acpi_operand_object **result_desc, |
111 | struct acpi_walk_state *walk_state); | 83 | struct acpi_walk_state *walk_state); |
112 | 84 | ||
113 | u32 | ||
114 | acpi_ex_convert_to_ascii ( | ||
115 | acpi_integer integer, | ||
116 | u16 base, | ||
117 | u8 *string, | ||
118 | u8 max_length); | ||
119 | 85 | ||
120 | /* | 86 | /* |
121 | * exfield - ACPI AML (p-code) execution - field manipulation | 87 | * exfield - ACPI AML (p-code) execution - field manipulation |
122 | */ | 88 | */ |
123 | |||
124 | acpi_status | 89 | acpi_status |
125 | acpi_ex_common_buffer_setup ( | 90 | acpi_ex_common_buffer_setup ( |
126 | union acpi_operand_object *obj_desc, | 91 | union acpi_operand_object *obj_desc, |
@@ -128,42 +93,6 @@ acpi_ex_common_buffer_setup ( | |||
128 | u32 *datum_count); | 93 | u32 *datum_count); |
129 | 94 | ||
130 | acpi_status | 95 | acpi_status |
131 | acpi_ex_extract_from_field ( | ||
132 | union acpi_operand_object *obj_desc, | ||
133 | void *buffer, | ||
134 | u32 buffer_length); | ||
135 | |||
136 | acpi_status | ||
137 | acpi_ex_insert_into_field ( | ||
138 | union acpi_operand_object *obj_desc, | ||
139 | void *buffer, | ||
140 | u32 buffer_length); | ||
141 | |||
142 | acpi_status | ||
143 | acpi_ex_setup_region ( | ||
144 | union acpi_operand_object *obj_desc, | ||
145 | u32 field_datum_byte_offset); | ||
146 | |||
147 | acpi_status | ||
148 | acpi_ex_access_region ( | ||
149 | union acpi_operand_object *obj_desc, | ||
150 | u32 field_datum_byte_offset, | ||
151 | acpi_integer *value, | ||
152 | u32 read_write); | ||
153 | |||
154 | u8 | ||
155 | acpi_ex_register_overflow ( | ||
156 | union acpi_operand_object *obj_desc, | ||
157 | acpi_integer value); | ||
158 | |||
159 | acpi_status | ||
160 | acpi_ex_field_datum_io ( | ||
161 | union acpi_operand_object *obj_desc, | ||
162 | u32 field_datum_byte_offset, | ||
163 | acpi_integer *value, | ||
164 | u32 read_write); | ||
165 | |||
166 | acpi_status | ||
167 | acpi_ex_write_with_update_rule ( | 96 | acpi_ex_write_with_update_rule ( |
168 | union acpi_operand_object *obj_desc, | 97 | union acpi_operand_object *obj_desc, |
169 | acpi_integer mask, | 98 | acpi_integer mask, |
@@ -198,28 +127,33 @@ acpi_ex_write_data_to_field ( | |||
198 | union acpi_operand_object *obj_desc, | 127 | union acpi_operand_object *obj_desc, |
199 | union acpi_operand_object **result_desc); | 128 | union acpi_operand_object **result_desc); |
200 | 129 | ||
130 | |||
201 | /* | 131 | /* |
202 | * exmisc - ACPI AML (p-code) execution - specific opcodes | 132 | * exfldio - low level field I/O |
203 | */ | 133 | */ |
204 | |||
205 | acpi_status | 134 | acpi_status |
206 | acpi_ex_opcode_3A_0T_0R ( | 135 | acpi_ex_extract_from_field ( |
207 | struct acpi_walk_state *walk_state); | 136 | union acpi_operand_object *obj_desc, |
137 | void *buffer, | ||
138 | u32 buffer_length); | ||
208 | 139 | ||
209 | acpi_status | 140 | acpi_status |
210 | acpi_ex_opcode_3A_1T_1R ( | 141 | acpi_ex_insert_into_field ( |
211 | struct acpi_walk_state *walk_state); | 142 | union acpi_operand_object *obj_desc, |
143 | void *buffer, | ||
144 | u32 buffer_length); | ||
212 | 145 | ||
213 | acpi_status | 146 | acpi_status |
214 | acpi_ex_opcode_6A_0T_1R ( | 147 | acpi_ex_access_region ( |
215 | struct acpi_walk_state *walk_state); | 148 | union acpi_operand_object *obj_desc, |
149 | u32 field_datum_byte_offset, | ||
150 | acpi_integer *value, | ||
151 | u32 read_write); | ||
216 | 152 | ||
217 | u8 | ||
218 | acpi_ex_do_match ( | ||
219 | u32 match_op, | ||
220 | union acpi_operand_object *package_obj, | ||
221 | union acpi_operand_object *match_obj); | ||
222 | 153 | ||
154 | /* | ||
155 | * exmisc - misc support routines | ||
156 | */ | ||
223 | acpi_status | 157 | acpi_status |
224 | acpi_ex_get_object_reference ( | 158 | acpi_ex_get_object_reference ( |
225 | union acpi_operand_object *obj_desc, | 159 | union acpi_operand_object *obj_desc, |
@@ -227,13 +161,6 @@ acpi_ex_get_object_reference ( | |||
227 | struct acpi_walk_state *walk_state); | 161 | struct acpi_walk_state *walk_state); |
228 | 162 | ||
229 | acpi_status | 163 | acpi_status |
230 | acpi_ex_resolve_multiple ( | ||
231 | struct acpi_walk_state *walk_state, | ||
232 | union acpi_operand_object *operand, | ||
233 | acpi_object_type *return_type, | ||
234 | union acpi_operand_object **return_desc); | ||
235 | |||
236 | acpi_status | ||
237 | acpi_ex_concat_template ( | 164 | acpi_ex_concat_template ( |
238 | union acpi_operand_object *obj_desc, | 165 | union acpi_operand_object *obj_desc, |
239 | union acpi_operand_object *obj_desc2, | 166 | union acpi_operand_object *obj_desc2, |
@@ -308,13 +235,6 @@ acpi_ex_create_method ( | |||
308 | /* | 235 | /* |
309 | * exconfig - dynamic table load/unload | 236 | * exconfig - dynamic table load/unload |
310 | */ | 237 | */ |
311 | |||
312 | acpi_status | ||
313 | acpi_ex_add_table ( | ||
314 | struct acpi_table_header *table, | ||
315 | struct acpi_namespace_node *parent_node, | ||
316 | union acpi_operand_object **ddb_handle); | ||
317 | |||
318 | acpi_status | 238 | acpi_status |
319 | acpi_ex_load_op ( | 239 | acpi_ex_load_op ( |
320 | union acpi_operand_object *obj_desc, | 240 | union acpi_operand_object *obj_desc, |
@@ -334,7 +254,6 @@ acpi_ex_unload_table ( | |||
334 | /* | 254 | /* |
335 | * exmutex - mutex support | 255 | * exmutex - mutex support |
336 | */ | 256 | */ |
337 | |||
338 | acpi_status | 257 | acpi_status |
339 | acpi_ex_acquire_mutex ( | 258 | acpi_ex_acquire_mutex ( |
340 | union acpi_operand_object *time_desc, | 259 | union acpi_operand_object *time_desc, |
@@ -354,15 +273,10 @@ void | |||
354 | acpi_ex_unlink_mutex ( | 273 | acpi_ex_unlink_mutex ( |
355 | union acpi_operand_object *obj_desc); | 274 | union acpi_operand_object *obj_desc); |
356 | 275 | ||
357 | void | ||
358 | acpi_ex_link_mutex ( | ||
359 | union acpi_operand_object *obj_desc, | ||
360 | struct acpi_thread_state *thread); | ||
361 | 276 | ||
362 | /* | 277 | /* |
363 | * exprep - ACPI AML (p-code) execution - prep utilities | 278 | * exprep - ACPI AML execution - prep utilities |
364 | */ | 279 | */ |
365 | |||
366 | acpi_status | 280 | acpi_status |
367 | acpi_ex_prep_common_field_object ( | 281 | acpi_ex_prep_common_field_object ( |
368 | union acpi_operand_object *obj_desc, | 282 | union acpi_operand_object *obj_desc, |
@@ -375,10 +289,10 @@ acpi_status | |||
375 | acpi_ex_prep_field_value ( | 289 | acpi_ex_prep_field_value ( |
376 | struct acpi_create_field_info *info); | 290 | struct acpi_create_field_info *info); |
377 | 291 | ||
292 | |||
378 | /* | 293 | /* |
379 | * exsystem - Interface to OS services | 294 | * exsystem - Interface to OS services |
380 | */ | 295 | */ |
381 | |||
382 | acpi_status | 296 | acpi_status |
383 | acpi_ex_system_do_notify_op ( | 297 | acpi_ex_system_do_notify_op ( |
384 | union acpi_operand_object *value, | 298 | union acpi_operand_object *value, |
@@ -421,9 +335,8 @@ acpi_ex_system_wait_semaphore ( | |||
421 | 335 | ||
422 | 336 | ||
423 | /* | 337 | /* |
424 | * exmonadic - ACPI AML (p-code) execution, monadic operators | 338 | * exoparg1 - ACPI AML execution, 1 operand |
425 | */ | 339 | */ |
426 | |||
427 | acpi_status | 340 | acpi_status |
428 | acpi_ex_opcode_0A_0T_1R ( | 341 | acpi_ex_opcode_0A_0T_1R ( |
429 | struct acpi_walk_state *walk_state); | 342 | struct acpi_walk_state *walk_state); |
@@ -445,9 +358,8 @@ acpi_ex_opcode_1A_1T_0R ( | |||
445 | struct acpi_walk_state *walk_state); | 358 | struct acpi_walk_state *walk_state); |
446 | 359 | ||
447 | /* | 360 | /* |
448 | * exdyadic - ACPI AML (p-code) execution, dyadic operators | 361 | * exoparg2 - ACPI AML execution, 2 operands |
449 | */ | 362 | */ |
450 | |||
451 | acpi_status | 363 | acpi_status |
452 | acpi_ex_opcode_2A_0T_0R ( | 364 | acpi_ex_opcode_2A_0T_0R ( |
453 | struct acpi_walk_state *walk_state); | 365 | struct acpi_walk_state *walk_state); |
@@ -466,21 +378,56 @@ acpi_ex_opcode_2A_2T_1R ( | |||
466 | 378 | ||
467 | 379 | ||
468 | /* | 380 | /* |
469 | * exresolv - Object resolution and get value functions | 381 | * exoparg3 - ACPI AML execution, 3 operands |
382 | */ | ||
383 | acpi_status | ||
384 | acpi_ex_opcode_3A_0T_0R ( | ||
385 | struct acpi_walk_state *walk_state); | ||
386 | |||
387 | acpi_status | ||
388 | acpi_ex_opcode_3A_1T_1R ( | ||
389 | struct acpi_walk_state *walk_state); | ||
390 | |||
391 | |||
392 | /* | ||
393 | * exoparg6 - ACPI AML execution, 6 operands | ||
470 | */ | 394 | */ |
395 | acpi_status | ||
396 | acpi_ex_opcode_6A_0T_1R ( | ||
397 | struct acpi_walk_state *walk_state); | ||
398 | |||
471 | 399 | ||
400 | /* | ||
401 | * exresolv - Object resolution and get value functions | ||
402 | */ | ||
472 | acpi_status | 403 | acpi_status |
473 | acpi_ex_resolve_to_value ( | 404 | acpi_ex_resolve_to_value ( |
474 | union acpi_operand_object **stack_ptr, | 405 | union acpi_operand_object **stack_ptr, |
475 | struct acpi_walk_state *walk_state); | 406 | struct acpi_walk_state *walk_state); |
476 | 407 | ||
477 | acpi_status | 408 | acpi_status |
409 | acpi_ex_resolve_multiple ( | ||
410 | struct acpi_walk_state *walk_state, | ||
411 | union acpi_operand_object *operand, | ||
412 | acpi_object_type *return_type, | ||
413 | union acpi_operand_object **return_desc); | ||
414 | |||
415 | |||
416 | /* | ||
417 | * exresnte - resolve namespace node | ||
418 | */ | ||
419 | acpi_status | ||
478 | acpi_ex_resolve_node_to_value ( | 420 | acpi_ex_resolve_node_to_value ( |
479 | struct acpi_namespace_node **stack_ptr, | 421 | struct acpi_namespace_node **stack_ptr, |
480 | struct acpi_walk_state *walk_state); | 422 | struct acpi_walk_state *walk_state); |
481 | 423 | ||
424 | |||
425 | /* | ||
426 | * exresop - resolve operand to value | ||
427 | */ | ||
482 | acpi_status | 428 | acpi_status |
483 | acpi_ex_resolve_object_to_value ( | 429 | acpi_ex_resolve_operands ( |
430 | u16 opcode, | ||
484 | union acpi_operand_object **stack_ptr, | 431 | union acpi_operand_object **stack_ptr, |
485 | struct acpi_walk_state *walk_state); | 432 | struct acpi_walk_state *walk_state); |
486 | 433 | ||
@@ -488,7 +435,6 @@ acpi_ex_resolve_object_to_value ( | |||
488 | /* | 435 | /* |
489 | * exdump - Interpreter debug output routines | 436 | * exdump - Interpreter debug output routines |
490 | */ | 437 | */ |
491 | |||
492 | void | 438 | void |
493 | acpi_ex_dump_operand ( | 439 | acpi_ex_dump_operand ( |
494 | union acpi_operand_object *obj_desc, | 440 | union acpi_operand_object *obj_desc, |
@@ -504,7 +450,7 @@ acpi_ex_dump_operands ( | |||
504 | char *module_name, | 450 | char *module_name, |
505 | u32 line_number); | 451 | u32 line_number); |
506 | 452 | ||
507 | #ifdef ACPI_FUTURE_USAGE | 453 | #ifdef ACPI_FUTURE_USAGE |
508 | void | 454 | void |
509 | acpi_ex_dump_object_descriptor ( | 455 | acpi_ex_dump_object_descriptor ( |
510 | union acpi_operand_object *object, | 456 | union acpi_operand_object *object, |
@@ -514,46 +460,12 @@ void | |||
514 | acpi_ex_dump_node ( | 460 | acpi_ex_dump_node ( |
515 | struct acpi_namespace_node *node, | 461 | struct acpi_namespace_node *node, |
516 | u32 flags); | 462 | u32 flags); |
463 | #endif /* ACPI_FUTURE_USAGE */ | ||
517 | 464 | ||
518 | void | ||
519 | acpi_ex_out_string ( | ||
520 | char *title, | ||
521 | char *value); | ||
522 | |||
523 | void | ||
524 | acpi_ex_out_pointer ( | ||
525 | char *title, | ||
526 | void *value); | ||
527 | |||
528 | void | ||
529 | acpi_ex_out_integer ( | ||
530 | char *title, | ||
531 | u32 value); | ||
532 | |||
533 | void | ||
534 | acpi_ex_out_address ( | ||
535 | char *title, | ||
536 | acpi_physical_address value); | ||
537 | #endif /* ACPI_FUTURE_USAGE */ | ||
538 | 465 | ||
539 | /* | 466 | /* |
540 | * exnames - interpreter/scanner name load/execute | 467 | * exnames - AML namestring support |
541 | */ | 468 | */ |
542 | |||
543 | char * | ||
544 | acpi_ex_allocate_name_string ( | ||
545 | u32 prefix_count, | ||
546 | u32 num_name_segs); | ||
547 | |||
548 | u32 | ||
549 | acpi_ex_good_char ( | ||
550 | u32 character); | ||
551 | |||
552 | acpi_status | ||
553 | acpi_ex_name_segment ( | ||
554 | u8 **in_aml_address, | ||
555 | char *name_string); | ||
556 | |||
557 | acpi_status | 469 | acpi_status |
558 | acpi_ex_get_name_string ( | 470 | acpi_ex_get_name_string ( |
559 | acpi_object_type data_type, | 471 | acpi_object_type data_type, |
@@ -561,16 +473,10 @@ acpi_ex_get_name_string ( | |||
561 | char **out_name_string, | 473 | char **out_name_string, |
562 | u32 *out_name_length); | 474 | u32 *out_name_length); |
563 | 475 | ||
564 | acpi_status | ||
565 | acpi_ex_do_name ( | ||
566 | acpi_object_type data_type, | ||
567 | acpi_interpreter_mode load_exec_mode); | ||
568 | |||
569 | 476 | ||
570 | /* | 477 | /* |
571 | * exstore - Object store support | 478 | * exstore - Object store support |
572 | */ | 479 | */ |
573 | |||
574 | acpi_status | 480 | acpi_status |
575 | acpi_ex_store ( | 481 | acpi_ex_store ( |
576 | union acpi_operand_object *val_desc, | 482 | union acpi_operand_object *val_desc, |
@@ -578,12 +484,6 @@ acpi_ex_store ( | |||
578 | struct acpi_walk_state *walk_state); | 484 | struct acpi_walk_state *walk_state); |
579 | 485 | ||
580 | acpi_status | 486 | acpi_status |
581 | acpi_ex_store_object_to_index ( | ||
582 | union acpi_operand_object *val_desc, | ||
583 | union acpi_operand_object *dest_desc, | ||
584 | struct acpi_walk_state *walk_state); | ||
585 | |||
586 | acpi_status | ||
587 | acpi_ex_store_object_to_node ( | 487 | acpi_ex_store_object_to_node ( |
588 | union acpi_operand_object *source_desc, | 488 | union acpi_operand_object *source_desc, |
589 | struct acpi_namespace_node *node, | 489 | struct acpi_namespace_node *node, |
@@ -593,10 +493,10 @@ acpi_ex_store_object_to_node ( | |||
593 | #define ACPI_IMPLICIT_CONVERSION TRUE | 493 | #define ACPI_IMPLICIT_CONVERSION TRUE |
594 | #define ACPI_NO_IMPLICIT_CONVERSION FALSE | 494 | #define ACPI_NO_IMPLICIT_CONVERSION FALSE |
595 | 495 | ||
496 | |||
596 | /* | 497 | /* |
597 | * exstoren | 498 | * exstoren - resolve/store object |
598 | */ | 499 | */ |
599 | |||
600 | acpi_status | 500 | acpi_status |
601 | acpi_ex_resolve_object ( | 501 | acpi_ex_resolve_object ( |
602 | union acpi_operand_object **source_desc_ptr, | 502 | union acpi_operand_object **source_desc_ptr, |
@@ -612,9 +512,8 @@ acpi_ex_store_object_to_object ( | |||
612 | 512 | ||
613 | 513 | ||
614 | /* | 514 | /* |
615 | * excopy - object copy | 515 | * exstorob - store object - buffer/string |
616 | */ | 516 | */ |
617 | |||
618 | acpi_status | 517 | acpi_status |
619 | acpi_ex_store_buffer_to_buffer ( | 518 | acpi_ex_store_buffer_to_buffer ( |
620 | union acpi_operand_object *source_desc, | 519 | union acpi_operand_object *source_desc, |
@@ -625,6 +524,10 @@ acpi_ex_store_string_to_string ( | |||
625 | union acpi_operand_object *source_desc, | 524 | union acpi_operand_object *source_desc, |
626 | union acpi_operand_object *target_desc); | 525 | union acpi_operand_object *target_desc); |
627 | 526 | ||
527 | |||
528 | /* | ||
529 | * excopy - object copy | ||
530 | */ | ||
628 | acpi_status | 531 | acpi_status |
629 | acpi_ex_copy_integer_to_index_field ( | 532 | acpi_ex_copy_integer_to_index_field ( |
630 | union acpi_operand_object *source_desc, | 533 | union acpi_operand_object *source_desc, |
@@ -645,10 +548,10 @@ acpi_ex_copy_integer_to_buffer_field ( | |||
645 | union acpi_operand_object *source_desc, | 548 | union acpi_operand_object *source_desc, |
646 | union acpi_operand_object *target_desc); | 549 | union acpi_operand_object *target_desc); |
647 | 550 | ||
551 | |||
648 | /* | 552 | /* |
649 | * exutils - interpreter/scanner utilities | 553 | * exutils - interpreter/scanner utilities |
650 | */ | 554 | */ |
651 | |||
652 | acpi_status | 555 | acpi_status |
653 | acpi_ex_enter_interpreter ( | 556 | acpi_ex_enter_interpreter ( |
654 | void); | 557 | void); |
@@ -669,11 +572,6 @@ void | |||
669 | acpi_ex_release_global_lock ( | 572 | acpi_ex_release_global_lock ( |
670 | u8 locked); | 573 | u8 locked); |
671 | 574 | ||
672 | u32 | ||
673 | acpi_ex_digits_needed ( | ||
674 | acpi_integer value, | ||
675 | u32 base); | ||
676 | |||
677 | void | 575 | void |
678 | acpi_ex_eisa_id_to_string ( | 576 | acpi_ex_eisa_id_to_string ( |
679 | u32 numeric_id, | 577 | u32 numeric_id, |
@@ -688,7 +586,6 @@ acpi_ex_unsigned_integer_to_string ( | |||
688 | /* | 586 | /* |
689 | * exregion - default op_region handlers | 587 | * exregion - default op_region handlers |
690 | */ | 588 | */ |
691 | |||
692 | acpi_status | 589 | acpi_status |
693 | acpi_ex_system_memory_space_handler ( | 590 | acpi_ex_system_memory_space_handler ( |
694 | u32 function, | 591 | u32 function, |