Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
434 | giacomo | 1 | /****************************************************************************** |
2 | * |
||
3 | * Name: acutils.h -- prototypes for the common (subsystem-wide) procedures |
||
4 | * |
||
5 | *****************************************************************************/ |
||
6 | |||
7 | /* |
||
8 | * Copyright (C) 2000 - 2003, R. Byron Moore |
||
9 | * All rights reserved. |
||
10 | * |
||
11 | * Redistribution and use in source and binary forms, with or without |
||
12 | * modification, are permitted provided that the following conditions |
||
13 | * are met: |
||
14 | * 1. Redistributions of source code must retain the above copyright |
||
15 | * notice, this list of conditions, and the following disclaimer, |
||
16 | * without modification. |
||
17 | * 2. Redistributions in binary form must reproduce at minimum a disclaimer |
||
18 | * substantially similar to the "NO WARRANTY" disclaimer below |
||
19 | * ("Disclaimer") and any redistribution must be conditioned upon |
||
20 | * including a substantially similar Disclaimer requirement for further |
||
21 | * binary redistribution. |
||
22 | * 3. Neither the names of the above-listed copyright holders nor the names |
||
23 | * of any contributors may be used to endorse or promote products derived |
||
24 | * from this software without specific prior written permission. |
||
25 | * |
||
26 | * Alternatively, this software may be distributed under the terms of the |
||
27 | * GNU General Public License ("GPL") version 2 as published by the Free |
||
28 | * Software Foundation. |
||
29 | * |
||
30 | * NO WARRANTY |
||
31 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||
32 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||
33 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR |
||
34 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||
35 | * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
||
36 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
||
37 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
||
38 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
||
39 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING |
||
40 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
||
41 | * POSSIBILITY OF SUCH DAMAGES. |
||
42 | */ |
||
43 | |||
44 | #ifndef _ACUTILS_H |
||
45 | #define _ACUTILS_H |
||
46 | |||
47 | |||
48 | typedef |
||
49 | acpi_status (*acpi_pkg_callback) ( |
||
50 | u8 object_type, |
||
51 | union acpi_operand_object *source_object, |
||
52 | union acpi_generic_state *state, |
||
53 | void *context); |
||
54 | |||
55 | |||
56 | acpi_status |
||
57 | acpi_ut_walk_package_tree ( |
||
58 | union acpi_operand_object *source_object, |
||
59 | void *target_object, |
||
60 | acpi_pkg_callback walk_callback, |
||
61 | void *context); |
||
62 | |||
63 | |||
64 | struct acpi_pkg_info |
||
65 | { |
||
66 | u8 *free_space; |
||
67 | acpi_size length; |
||
68 | u32 object_space; |
||
69 | u32 num_packages; |
||
70 | }; |
||
71 | |||
72 | #define REF_INCREMENT (u16) 0 |
||
73 | #define REF_DECREMENT (u16) 1 |
||
74 | #define REF_FORCE_DELETE (u16) 2 |
||
75 | |||
76 | /* acpi_ut_dump_buffer */ |
||
77 | |||
78 | #define DB_BYTE_DISPLAY 1 |
||
79 | #define DB_WORD_DISPLAY 2 |
||
80 | #define DB_DWORD_DISPLAY 4 |
||
81 | #define DB_QWORD_DISPLAY 8 |
||
82 | |||
83 | |||
84 | /* Global initialization interfaces */ |
||
85 | |||
86 | void |
||
87 | acpi_ut_init_globals ( |
||
88 | void); |
||
89 | |||
90 | void |
||
91 | acpi_ut_terminate ( |
||
92 | void); |
||
93 | |||
94 | |||
95 | /* |
||
96 | * ut_init - miscellaneous initialization and shutdown |
||
97 | */ |
||
98 | |||
99 | acpi_status |
||
100 | acpi_ut_hardware_initialize ( |
||
101 | void); |
||
102 | |||
103 | void |
||
104 | acpi_ut_subsystem_shutdown ( |
||
105 | void); |
||
106 | |||
107 | acpi_status |
||
108 | acpi_ut_validate_fadt ( |
||
109 | void); |
||
110 | |||
111 | /* |
||
112 | * ut_global - Global data structures and procedures |
||
113 | */ |
||
114 | |||
115 | #if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER) |
||
116 | |||
117 | char * |
||
118 | acpi_ut_get_mutex_name ( |
||
119 | u32 mutex_id); |
||
120 | |||
121 | #endif |
||
122 | |||
123 | char * |
||
124 | acpi_ut_get_type_name ( |
||
125 | acpi_object_type type); |
||
126 | |||
127 | char * |
||
128 | acpi_ut_get_object_type_name ( |
||
129 | union acpi_operand_object *obj_desc); |
||
130 | |||
131 | char * |
||
132 | acpi_ut_get_region_name ( |
||
133 | u8 space_id); |
||
134 | |||
135 | char * |
||
136 | acpi_ut_get_event_name ( |
||
137 | u32 event_id); |
||
138 | |||
139 | char |
||
140 | acpi_ut_hex_to_ascii_char ( |
||
141 | acpi_integer integer, |
||
142 | u32 position); |
||
143 | |||
144 | u8 |
||
145 | acpi_ut_valid_object_type ( |
||
146 | acpi_object_type type); |
||
147 | |||
148 | acpi_owner_id |
||
149 | acpi_ut_allocate_owner_id ( |
||
150 | u32 id_type); |
||
151 | |||
152 | |||
153 | /* |
||
154 | * ut_clib - Local implementations of C library functions |
||
155 | */ |
||
156 | |||
157 | #ifndef ACPI_USE_SYSTEM_CLIBRARY |
||
158 | |||
159 | acpi_size |
||
160 | acpi_ut_strlen ( |
||
161 | const char *string); |
||
162 | |||
163 | char * |
||
164 | acpi_ut_strcpy ( |
||
165 | char *dst_string, |
||
166 | const char *src_string); |
||
167 | |||
168 | char * |
||
169 | acpi_ut_strncpy ( |
||
170 | char *dst_string, |
||
171 | const char *src_string, |
||
172 | acpi_size count); |
||
173 | |||
174 | int |
||
175 | acpi_ut_strncmp ( |
||
176 | const char *string1, |
||
177 | const char *string2, |
||
178 | acpi_size count); |
||
179 | |||
180 | int |
||
181 | acpi_ut_strcmp ( |
||
182 | const char *string1, |
||
183 | const char *string2); |
||
184 | |||
185 | char * |
||
186 | acpi_ut_strcat ( |
||
187 | char *dst_string, |
||
188 | const char *src_string); |
||
189 | |||
190 | char * |
||
191 | acpi_ut_strncat ( |
||
192 | char *dst_string, |
||
193 | const char *src_string, |
||
194 | acpi_size count); |
||
195 | |||
196 | u32 |
||
197 | acpi_ut_strtoul ( |
||
198 | const char *string, |
||
199 | char **terminator, |
||
200 | u32 base); |
||
201 | |||
202 | char * |
||
203 | acpi_ut_strstr ( |
||
204 | char *string1, |
||
205 | char *string2); |
||
206 | |||
207 | void * |
||
208 | acpi_ut_memcpy ( |
||
209 | void *dest, |
||
210 | const void *src, |
||
211 | acpi_size count); |
||
212 | |||
213 | void * |
||
214 | acpi_ut_memset ( |
||
215 | void *dest, |
||
216 | acpi_native_uint value, |
||
217 | acpi_size count); |
||
218 | |||
219 | int |
||
220 | acpi_ut_to_upper ( |
||
221 | int c); |
||
222 | |||
223 | int |
||
224 | acpi_ut_to_lower ( |
||
225 | int c); |
||
226 | |||
227 | extern const u8 _acpi_ctype[]; |
||
228 | |||
229 | #define _ACPI_XA 0x00 /* extra alphabetic - not supported */ |
||
230 | #define _ACPI_XS 0x40 /* extra space */ |
||
231 | #define _ACPI_BB 0x00 /* BEL, BS, etc. - not supported */ |
||
232 | #define _ACPI_CN 0x20 /* CR, FF, HT, NL, VT */ |
||
233 | #define _ACPI_DI 0x04 /* '0'-'9' */ |
||
234 | #define _ACPI_LO 0x02 /* 'a'-'z' */ |
||
235 | #define _ACPI_PU 0x10 /* punctuation */ |
||
236 | #define _ACPI_SP 0x08 /* space */ |
||
237 | #define _ACPI_UP 0x01 /* 'A'-'Z' */ |
||
238 | #define _ACPI_XD 0x80 /* '0'-'9', 'A'-'F', 'a'-'f' */ |
||
239 | |||
240 | #define ACPI_IS_DIGIT(c) (_acpi_ctype[(unsigned char)(c)] & (_ACPI_DI)) |
||
241 | #define ACPI_IS_SPACE(c) (_acpi_ctype[(unsigned char)(c)] & (_ACPI_SP)) |
||
242 | #define ACPI_IS_XDIGIT(c) (_acpi_ctype[(unsigned char)(c)] & (_ACPI_XD)) |
||
243 | #define ACPI_IS_UPPER(c) (_acpi_ctype[(unsigned char)(c)] & (_ACPI_UP)) |
||
244 | #define ACPI_IS_LOWER(c) (_acpi_ctype[(unsigned char)(c)] & (_ACPI_LO)) |
||
245 | #define ACPI_IS_PRINT(c) (_acpi_ctype[(unsigned char)(c)] & (_ACPI_LO | _ACPI_UP | _ACPI_DI | _ACPI_SP | _ACPI_PU)) |
||
246 | #define ACPI_IS_ALPHA(c) (_acpi_ctype[(unsigned char)(c)] & (_ACPI_LO | _ACPI_UP)) |
||
247 | #define ACPI_IS_ASCII(c) ((c) < 0x80) |
||
248 | |||
249 | #endif /* ACPI_USE_SYSTEM_CLIBRARY */ |
||
250 | |||
251 | /* |
||
252 | * ut_copy - Object construction and conversion interfaces |
||
253 | */ |
||
254 | |||
255 | acpi_status |
||
256 | acpi_ut_build_simple_object( |
||
257 | union acpi_operand_object *obj, |
||
258 | union acpi_object *user_obj, |
||
259 | u8 *data_space, |
||
260 | u32 *buffer_space_used); |
||
261 | |||
262 | acpi_status |
||
263 | acpi_ut_build_package_object ( |
||
264 | union acpi_operand_object *obj, |
||
265 | u8 *buffer, |
||
266 | u32 *space_used); |
||
267 | |||
268 | acpi_status |
||
269 | acpi_ut_copy_ielement_to_eelement ( |
||
270 | u8 object_type, |
||
271 | union acpi_operand_object *source_object, |
||
272 | union acpi_generic_state *state, |
||
273 | void *context); |
||
274 | |||
275 | acpi_status |
||
276 | acpi_ut_copy_ielement_to_ielement ( |
||
277 | u8 object_type, |
||
278 | union acpi_operand_object *source_object, |
||
279 | union acpi_generic_state *state, |
||
280 | void *context); |
||
281 | |||
282 | acpi_status |
||
283 | acpi_ut_copy_iobject_to_eobject ( |
||
284 | union acpi_operand_object *obj, |
||
285 | struct acpi_buffer *ret_buffer); |
||
286 | |||
287 | acpi_status |
||
288 | acpi_ut_copy_esimple_to_isimple( |
||
289 | union acpi_object *user_obj, |
||
290 | union acpi_operand_object **return_obj); |
||
291 | |||
292 | acpi_status |
||
293 | acpi_ut_copy_eobject_to_iobject ( |
||
294 | union acpi_object *obj, |
||
295 | union acpi_operand_object **internal_obj); |
||
296 | |||
297 | acpi_status |
||
298 | acpi_ut_copy_isimple_to_isimple ( |
||
299 | union acpi_operand_object *source_obj, |
||
300 | union acpi_operand_object *dest_obj); |
||
301 | |||
302 | acpi_status |
||
303 | acpi_ut_copy_ipackage_to_ipackage ( |
||
304 | union acpi_operand_object *source_obj, |
||
305 | union acpi_operand_object *dest_obj, |
||
306 | struct acpi_walk_state *walk_state); |
||
307 | |||
308 | acpi_status |
||
309 | acpi_ut_copy_simple_object ( |
||
310 | union acpi_operand_object *source_desc, |
||
311 | union acpi_operand_object *dest_desc); |
||
312 | |||
313 | acpi_status |
||
314 | acpi_ut_copy_iobject_to_iobject ( |
||
315 | union acpi_operand_object *source_desc, |
||
316 | union acpi_operand_object **dest_desc, |
||
317 | struct acpi_walk_state *walk_state); |
||
318 | |||
319 | |||
320 | /* |
||
321 | * ut_create - Object creation |
||
322 | */ |
||
323 | |||
324 | acpi_status |
||
325 | acpi_ut_update_object_reference ( |
||
326 | union acpi_operand_object *object, |
||
327 | u16 action); |
||
328 | |||
329 | |||
330 | /* |
||
331 | * ut_debug - Debug interfaces |
||
332 | */ |
||
333 | |||
334 | void |
||
335 | acpi_ut_init_stack_ptr_trace ( |
||
336 | void); |
||
337 | |||
338 | void |
||
339 | acpi_ut_track_stack_ptr ( |
||
340 | void); |
||
341 | |||
342 | void |
||
343 | acpi_ut_trace ( |
||
344 | u32 line_number, |
||
345 | struct acpi_debug_print_info *dbg_info); |
||
346 | |||
347 | void |
||
348 | acpi_ut_trace_ptr ( |
||
349 | u32 line_number, |
||
350 | struct acpi_debug_print_info *dbg_info, |
||
351 | void *pointer); |
||
352 | |||
353 | void |
||
354 | acpi_ut_trace_u32 ( |
||
355 | u32 line_number, |
||
356 | struct acpi_debug_print_info *dbg_info, |
||
357 | u32 integer); |
||
358 | |||
359 | void |
||
360 | acpi_ut_trace_str ( |
||
361 | u32 line_number, |
||
362 | struct acpi_debug_print_info *dbg_info, |
||
363 | char *string); |
||
364 | |||
365 | void |
||
366 | acpi_ut_exit ( |
||
367 | u32 line_number, |
||
368 | struct acpi_debug_print_info *dbg_info); |
||
369 | |||
370 | void |
||
371 | acpi_ut_status_exit ( |
||
372 | u32 line_number, |
||
373 | struct acpi_debug_print_info *dbg_info, |
||
374 | acpi_status status); |
||
375 | |||
376 | void |
||
377 | acpi_ut_value_exit ( |
||
378 | u32 line_number, |
||
379 | struct acpi_debug_print_info *dbg_info, |
||
380 | acpi_integer value); |
||
381 | |||
382 | void |
||
383 | acpi_ut_ptr_exit ( |
||
384 | u32 line_number, |
||
385 | struct acpi_debug_print_info *dbg_info, |
||
386 | u8 *ptr); |
||
387 | |||
388 | void |
||
389 | acpi_ut_report_info ( |
||
390 | char *module_name, |
||
391 | u32 line_number, |
||
392 | u32 component_id); |
||
393 | |||
394 | void |
||
395 | acpi_ut_report_error ( |
||
396 | char *module_name, |
||
397 | u32 line_number, |
||
398 | u32 component_id); |
||
399 | |||
400 | void |
||
401 | acpi_ut_report_warning ( |
||
402 | char *module_name, |
||
403 | u32 line_number, |
||
404 | u32 component_id); |
||
405 | |||
406 | void |
||
407 | acpi_ut_dump_buffer ( |
||
408 | u8 *buffer, |
||
409 | u32 count, |
||
410 | u32 display, |
||
411 | u32 component_id); |
||
412 | |||
413 | void ACPI_INTERNAL_VAR_XFACE |
||
414 | acpi_ut_debug_print ( |
||
415 | u32 requested_debug_level, |
||
416 | u32 line_number, |
||
417 | struct acpi_debug_print_info *dbg_info, |
||
418 | char *format, |
||
419 | ...) ACPI_PRINTF_LIKE_FUNC; |
||
420 | |||
421 | void ACPI_INTERNAL_VAR_XFACE |
||
422 | acpi_ut_debug_print_raw ( |
||
423 | u32 requested_debug_level, |
||
424 | u32 line_number, |
||
425 | struct acpi_debug_print_info *dbg_info, |
||
426 | char *format, |
||
427 | ...) ACPI_PRINTF_LIKE_FUNC; |
||
428 | |||
429 | |||
430 | /* |
||
431 | * ut_delete - Object deletion |
||
432 | */ |
||
433 | |||
434 | void |
||
435 | acpi_ut_delete_internal_obj ( |
||
436 | union acpi_operand_object *object); |
||
437 | |||
438 | void |
||
439 | acpi_ut_delete_internal_package_object ( |
||
440 | union acpi_operand_object *object); |
||
441 | |||
442 | void |
||
443 | acpi_ut_delete_internal_simple_object ( |
||
444 | union acpi_operand_object *object); |
||
445 | |||
446 | void |
||
447 | acpi_ut_delete_internal_object_list ( |
||
448 | union acpi_operand_object **obj_list); |
||
449 | |||
450 | |||
451 | /* |
||
452 | * ut_eval - object evaluation |
||
453 | */ |
||
454 | |||
455 | /* Method name strings */ |
||
456 | |||
457 | #define METHOD_NAME__HID "_HID" |
||
458 | #define METHOD_NAME__CID "_CID" |
||
459 | #define METHOD_NAME__UID "_UID" |
||
460 | #define METHOD_NAME__ADR "_ADR" |
||
461 | #define METHOD_NAME__STA "_STA" |
||
462 | #define METHOD_NAME__REG "_REG" |
||
463 | #define METHOD_NAME__SEG "_SEG" |
||
464 | #define METHOD_NAME__BBN "_BBN" |
||
465 | #define METHOD_NAME__PRT "_PRT" |
||
466 | #define METHOD_NAME__CRS "_CRS" |
||
467 | #define METHOD_NAME__PRS "_PRS" |
||
468 | |||
469 | |||
470 | acpi_status |
||
471 | acpi_ut_evaluate_object ( |
||
472 | struct acpi_namespace_node *prefix_node, |
||
473 | char *path, |
||
474 | u32 expected_return_btypes, |
||
475 | union acpi_operand_object **return_desc); |
||
476 | |||
477 | acpi_status |
||
478 | acpi_ut_evaluate_numeric_object ( |
||
479 | char *object_name, |
||
480 | struct acpi_namespace_node *device_node, |
||
481 | acpi_integer *address); |
||
482 | |||
483 | acpi_status |
||
484 | acpi_ut_execute_HID ( |
||
485 | struct acpi_namespace_node *device_node, |
||
486 | struct acpi_device_id *hid); |
||
487 | |||
488 | acpi_status |
||
489 | acpi_ut_execute_CID ( |
||
490 | struct acpi_namespace_node *device_node, |
||
491 | struct acpi_compatible_id_list **return_cid_list); |
||
492 | |||
493 | acpi_status |
||
494 | acpi_ut_execute_STA ( |
||
495 | struct acpi_namespace_node *device_node, |
||
496 | u32 *status_flags); |
||
497 | |||
498 | acpi_status |
||
499 | acpi_ut_execute_UID ( |
||
500 | struct acpi_namespace_node *device_node, |
||
501 | struct acpi_device_id *uid); |
||
502 | |||
503 | |||
504 | /* |
||
505 | * ut_mutex - mutual exclusion interfaces |
||
506 | */ |
||
507 | |||
508 | acpi_status |
||
509 | acpi_ut_mutex_initialize ( |
||
510 | void); |
||
511 | |||
512 | void |
||
513 | acpi_ut_mutex_terminate ( |
||
514 | void); |
||
515 | |||
516 | acpi_status |
||
517 | acpi_ut_create_mutex ( |
||
518 | acpi_mutex_handle mutex_id); |
||
519 | |||
520 | acpi_status |
||
521 | acpi_ut_delete_mutex ( |
||
522 | acpi_mutex_handle mutex_id); |
||
523 | |||
524 | acpi_status |
||
525 | acpi_ut_acquire_mutex ( |
||
526 | acpi_mutex_handle mutex_id); |
||
527 | |||
528 | acpi_status |
||
529 | acpi_ut_release_mutex ( |
||
530 | acpi_mutex_handle mutex_id); |
||
531 | |||
532 | |||
533 | /* |
||
534 | * ut_object - internal object create/delete/cache routines |
||
535 | */ |
||
536 | |||
537 | union acpi_operand_object * |
||
538 | acpi_ut_create_internal_object_dbg ( |
||
539 | char *module_name, |
||
540 | u32 line_number, |
||
541 | u32 component_id, |
||
542 | acpi_object_type type); |
||
543 | |||
544 | void * |
||
545 | acpi_ut_allocate_object_desc_dbg ( |
||
546 | char *module_name, |
||
547 | u32 line_number, |
||
548 | u32 component_id); |
||
549 | |||
550 | #define acpi_ut_create_internal_object(t) acpi_ut_create_internal_object_dbg (_THIS_MODULE,__LINE__,_COMPONENT,t) |
||
551 | #define acpi_ut_allocate_object_desc() acpi_ut_allocate_object_desc_dbg (_THIS_MODULE,__LINE__,_COMPONENT) |
||
552 | |||
553 | void |
||
554 | acpi_ut_delete_object_desc ( |
||
555 | union acpi_operand_object *object); |
||
556 | |||
557 | u8 |
||
558 | acpi_ut_valid_internal_object ( |
||
559 | void *object); |
||
560 | |||
561 | union acpi_operand_object * |
||
562 | acpi_ut_create_buffer_object ( |
||
563 | acpi_size buffer_size); |
||
564 | |||
565 | |||
566 | /* |
||
567 | * ut_ref_cnt - Object reference count management |
||
568 | */ |
||
569 | |||
570 | void |
||
571 | acpi_ut_add_reference ( |
||
572 | union acpi_operand_object *object); |
||
573 | |||
574 | void |
||
575 | acpi_ut_remove_reference ( |
||
576 | union acpi_operand_object *object); |
||
577 | |||
578 | /* |
||
579 | * ut_size - Object size routines |
||
580 | */ |
||
581 | |||
582 | acpi_status |
||
583 | acpi_ut_get_simple_object_size ( |
||
584 | union acpi_operand_object *obj, |
||
585 | acpi_size *obj_length); |
||
586 | |||
587 | acpi_status |
||
588 | acpi_ut_get_package_object_size ( |
||
589 | union acpi_operand_object *obj, |
||
590 | acpi_size *obj_length); |
||
591 | |||
592 | acpi_status |
||
593 | acpi_ut_get_object_size( |
||
594 | union acpi_operand_object *obj, |
||
595 | acpi_size *obj_length); |
||
596 | |||
597 | acpi_status |
||
598 | acpi_ut_get_element_length ( |
||
599 | u8 object_type, |
||
600 | union acpi_operand_object *source_object, |
||
601 | union acpi_generic_state *state, |
||
602 | void *context); |
||
603 | |||
604 | |||
605 | /* |
||
606 | * ut_state - Generic state creation/cache routines |
||
607 | */ |
||
608 | |||
609 | void |
||
610 | acpi_ut_push_generic_state ( |
||
611 | union acpi_generic_state **list_head, |
||
612 | union acpi_generic_state *state); |
||
613 | |||
614 | union acpi_generic_state * |
||
615 | acpi_ut_pop_generic_state ( |
||
616 | union acpi_generic_state **list_head); |
||
617 | |||
618 | |||
619 | union acpi_generic_state * |
||
620 | acpi_ut_create_generic_state ( |
||
621 | void); |
||
622 | |||
623 | struct acpi_thread_state * |
||
624 | acpi_ut_create_thread_state ( |
||
625 | void); |
||
626 | |||
627 | union acpi_generic_state * |
||
628 | acpi_ut_create_update_state ( |
||
629 | union acpi_operand_object *object, |
||
630 | u16 action); |
||
631 | |||
632 | union acpi_generic_state * |
||
633 | acpi_ut_create_pkg_state ( |
||
634 | void *internal_object, |
||
635 | void *external_object, |
||
636 | u16 index); |
||
637 | |||
638 | acpi_status |
||
639 | acpi_ut_create_update_state_and_push ( |
||
640 | union acpi_operand_object *object, |
||
641 | u16 action, |
||
642 | union acpi_generic_state **state_list); |
||
643 | |||
644 | acpi_status |
||
645 | acpi_ut_create_pkg_state_and_push ( |
||
646 | void *internal_object, |
||
647 | void *external_object, |
||
648 | u16 index, |
||
649 | union acpi_generic_state **state_list); |
||
650 | |||
651 | union acpi_generic_state * |
||
652 | acpi_ut_create_control_state ( |
||
653 | void); |
||
654 | |||
655 | void |
||
656 | acpi_ut_delete_generic_state ( |
||
657 | union acpi_generic_state *state); |
||
658 | |||
659 | void |
||
660 | acpi_ut_delete_generic_state_cache ( |
||
661 | void); |
||
662 | |||
663 | void |
||
664 | acpi_ut_delete_object_cache ( |
||
665 | void); |
||
666 | |||
667 | /* |
||
668 | * utmisc |
||
669 | */ |
||
670 | |||
671 | void |
||
672 | acpi_ut_print_string ( |
||
673 | char *string, |
||
674 | u8 max_length); |
||
675 | |||
676 | acpi_status |
||
677 | acpi_ut_divide ( |
||
678 | acpi_integer *in_dividend, |
||
679 | acpi_integer *in_divisor, |
||
680 | acpi_integer *out_quotient, |
||
681 | acpi_integer *out_remainder); |
||
682 | |||
683 | acpi_status |
||
684 | acpi_ut_short_divide ( |
||
685 | acpi_integer *in_dividend, |
||
686 | u32 divisor, |
||
687 | acpi_integer *out_quotient, |
||
688 | u32 *out_remainder); |
||
689 | |||
690 | u8 |
||
691 | acpi_ut_valid_acpi_name ( |
||
692 | u32 name); |
||
693 | |||
694 | u8 |
||
695 | acpi_ut_valid_acpi_character ( |
||
696 | char character); |
||
697 | |||
698 | acpi_status |
||
699 | acpi_ut_strtoul64 ( |
||
700 | char *string, |
||
701 | u32 base, |
||
702 | acpi_integer *ret_integer); |
||
703 | |||
704 | char * |
||
705 | acpi_ut_strupr ( |
||
706 | char *src_string); |
||
707 | |||
708 | u8 * |
||
709 | acpi_ut_get_resource_end_tag ( |
||
710 | union acpi_operand_object *obj_desc); |
||
711 | |||
712 | u8 |
||
713 | acpi_ut_generate_checksum ( |
||
714 | u8 *buffer, |
||
715 | u32 length); |
||
716 | |||
717 | u32 |
||
718 | acpi_ut_dword_byte_swap ( |
||
719 | u32 value); |
||
720 | |||
721 | void |
||
722 | acpi_ut_set_integer_width ( |
||
723 | u8 revision); |
||
724 | |||
725 | #ifdef ACPI_DEBUG_OUTPUT |
||
726 | void |
||
727 | acpi_ut_display_init_pathname ( |
||
728 | u8 type, |
||
729 | struct acpi_namespace_node *obj_handle, |
||
730 | char *path); |
||
731 | |||
732 | #endif |
||
733 | |||
734 | |||
735 | /* |
||
736 | * Utalloc - memory allocation and object caching |
||
737 | */ |
||
738 | |||
739 | void * |
||
740 | acpi_ut_acquire_from_cache ( |
||
741 | u32 list_id); |
||
742 | |||
743 | void |
||
744 | acpi_ut_release_to_cache ( |
||
745 | u32 list_id, |
||
746 | void *object); |
||
747 | |||
748 | void |
||
749 | acpi_ut_delete_generic_cache ( |
||
750 | u32 list_id); |
||
751 | |||
752 | acpi_status |
||
753 | acpi_ut_validate_buffer ( |
||
754 | struct acpi_buffer *buffer); |
||
755 | |||
756 | acpi_status |
||
757 | acpi_ut_initialize_buffer ( |
||
758 | struct acpi_buffer *buffer, |
||
759 | acpi_size required_length); |
||
760 | |||
761 | |||
762 | /* Memory allocation functions */ |
||
763 | |||
764 | void * |
||
765 | acpi_ut_allocate ( |
||
766 | acpi_size size, |
||
767 | u32 component, |
||
768 | char *module, |
||
769 | u32 line); |
||
770 | |||
771 | void * |
||
772 | acpi_ut_callocate ( |
||
773 | acpi_size size, |
||
774 | u32 component, |
||
775 | char *module, |
||
776 | u32 line); |
||
777 | |||
778 | |||
779 | #ifdef ACPI_DBG_TRACK_ALLOCATIONS |
||
780 | |||
781 | void * |
||
782 | acpi_ut_allocate_and_track ( |
||
783 | acpi_size size, |
||
784 | u32 component, |
||
785 | char *module, |
||
786 | u32 line); |
||
787 | |||
788 | void * |
||
789 | acpi_ut_callocate_and_track ( |
||
790 | acpi_size size, |
||
791 | u32 component, |
||
792 | char *module, |
||
793 | u32 line); |
||
794 | |||
795 | void |
||
796 | acpi_ut_free_and_track ( |
||
797 | void *address, |
||
798 | u32 component, |
||
799 | char *module, |
||
800 | u32 line); |
||
801 | |||
802 | struct acpi_debug_mem_block * |
||
803 | acpi_ut_find_allocation ( |
||
804 | u32 list_id, |
||
805 | void *allocation); |
||
806 | |||
807 | acpi_status |
||
808 | acpi_ut_track_allocation ( |
||
809 | u32 list_id, |
||
810 | struct acpi_debug_mem_block *address, |
||
811 | acpi_size size, |
||
812 | u8 alloc_type, |
||
813 | u32 component, |
||
814 | char *module, |
||
815 | u32 line); |
||
816 | |||
817 | acpi_status |
||
818 | acpi_ut_remove_allocation ( |
||
819 | u32 list_id, |
||
820 | struct acpi_debug_mem_block *address, |
||
821 | u32 component, |
||
822 | char *module, |
||
823 | u32 line); |
||
824 | |||
825 | void |
||
826 | acpi_ut_dump_allocation_info ( |
||
827 | void); |
||
828 | |||
829 | void |
||
830 | acpi_ut_dump_allocations ( |
||
831 | u32 component, |
||
832 | char *module); |
||
833 | #endif |
||
834 | |||
835 | |||
836 | #endif /* _ACUTILS_H */ |