File indexing completed on 2025-05-11 08:23:41
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100
0101
0102
0103
0104
0105
0106
0107
0108
0109
0110
0111
0112
0113
0114
0115
0116
0117
0118
0119
0120
0121
0122
0123
0124
0125
0126
0127
0128
0129
0130
0131
0132
0133
0134
0135
0136
0137
0138
0139
0140
0141
0142
0143
0144
0145
0146
0147
0148
0149
0150
0151
0152 #ifndef __ACOUTPUT_H__
0153 #define __ACOUTPUT_H__
0154
0155
0156
0157
0158
0159
0160
0161
0162
0163 #define ACPI_UTILITIES 0x00000001
0164 #define ACPI_HARDWARE 0x00000002
0165 #define ACPI_EVENTS 0x00000004
0166 #define ACPI_TABLES 0x00000008
0167 #define ACPI_NAMESPACE 0x00000010
0168 #define ACPI_PARSER 0x00000020
0169 #define ACPI_DISPATCHER 0x00000040
0170 #define ACPI_EXECUTER 0x00000080
0171 #define ACPI_RESOURCES 0x00000100
0172 #define ACPI_CA_DEBUGGER 0x00000200
0173 #define ACPI_OS_SERVICES 0x00000400
0174 #define ACPI_CA_DISASSEMBLER 0x00000800
0175
0176
0177
0178 #define ACPI_COMPILER 0x00001000
0179 #define ACPI_TOOLS 0x00002000
0180 #define ACPI_EXAMPLE 0x00004000
0181 #define ACPI_DRIVER 0x00008000
0182 #define DT_COMPILER 0x00010000
0183 #define ASL_PREPROCESSOR 0x00020000
0184
0185 #define ACPI_ALL_COMPONENTS 0x0001FFFF
0186 #define ACPI_COMPONENT_DEFAULT (ACPI_ALL_COMPONENTS)
0187
0188
0189
0190 #define ACPI_ALL_DRIVERS 0xFFFF0000
0191
0192
0193
0194
0195
0196 #define ACPI_LV_INIT 0x00000001
0197 #define ACPI_LV_DEBUG_OBJECT 0x00000002
0198 #define ACPI_LV_INFO 0x00000004
0199 #define ACPI_LV_REPAIR 0x00000008
0200 #define ACPI_LV_TRACE_POINT 0x00000010
0201 #define ACPI_LV_ALL_EXCEPTIONS 0x0000001F
0202
0203
0204
0205 #define ACPI_LV_INIT_NAMES 0x00000020
0206 #define ACPI_LV_PARSE 0x00000040
0207 #define ACPI_LV_LOAD 0x00000080
0208 #define ACPI_LV_DISPATCH 0x00000100
0209 #define ACPI_LV_EXEC 0x00000200
0210 #define ACPI_LV_NAMES 0x00000400
0211 #define ACPI_LV_OPREGION 0x00000800
0212 #define ACPI_LV_BFIELD 0x00001000
0213 #define ACPI_LV_TABLES 0x00002000
0214 #define ACPI_LV_VALUES 0x00004000
0215 #define ACPI_LV_OBJECTS 0x00008000
0216 #define ACPI_LV_RESOURCES 0x00010000
0217 #define ACPI_LV_USER_REQUESTS 0x00020000
0218 #define ACPI_LV_PACKAGE 0x00040000
0219 #define ACPI_LV_EVALUATION 0x00080000
0220 #define ACPI_LV_VERBOSITY1 0x000FFF40 | ACPI_LV_ALL_EXCEPTIONS
0221
0222
0223
0224 #define ACPI_LV_ALLOCATIONS 0x00100000
0225 #define ACPI_LV_FUNCTIONS 0x00200000
0226 #define ACPI_LV_OPTIMIZATIONS 0x00400000
0227 #define ACPI_LV_PARSE_TREES 0x00800000
0228 #define ACPI_LV_VERBOSITY2 0x00F00000 | ACPI_LV_VERBOSITY1
0229 #define ACPI_LV_ALL ACPI_LV_VERBOSITY2
0230
0231
0232
0233 #define ACPI_LV_MUTEX 0x01000000
0234 #define ACPI_LV_THREADS 0x02000000
0235 #define ACPI_LV_IO 0x04000000
0236 #define ACPI_LV_INTERRUPTS 0x08000000
0237 #define ACPI_LV_VERBOSITY3 0x0F000000 | ACPI_LV_VERBOSITY2
0238
0239
0240
0241 #define ACPI_LV_AML_DISASSEMBLE 0x10000000
0242 #define ACPI_LV_VERBOSE_INFO 0x20000000
0243 #define ACPI_LV_FULL_TABLES 0x40000000
0244 #define ACPI_LV_EVENTS 0x80000000
0245 #define ACPI_LV_VERBOSE 0xF0000000
0246
0247
0248
0249
0250
0251 #define ACPI_DEBUG_LEVEL(dl) (UINT32) dl,ACPI_DEBUG_PARAMETERS
0252
0253
0254
0255
0256
0257
0258
0259 #define ACPI_DB_INIT ACPI_DEBUG_LEVEL (ACPI_LV_INIT)
0260 #define ACPI_DB_DEBUG_OBJECT ACPI_DEBUG_LEVEL (ACPI_LV_DEBUG_OBJECT)
0261 #define ACPI_DB_INFO ACPI_DEBUG_LEVEL (ACPI_LV_INFO)
0262 #define ACPI_DB_REPAIR ACPI_DEBUG_LEVEL (ACPI_LV_REPAIR)
0263 #define ACPI_DB_TRACE_POINT ACPI_DEBUG_LEVEL (ACPI_LV_TRACE_POINT)
0264 #define ACPI_DB_ALL_EXCEPTIONS ACPI_DEBUG_LEVEL (ACPI_LV_ALL_EXCEPTIONS)
0265
0266
0267
0268 #define ACPI_DB_INIT_NAMES ACPI_DEBUG_LEVEL (ACPI_LV_INIT_NAMES)
0269 #define ACPI_DB_THREADS ACPI_DEBUG_LEVEL (ACPI_LV_THREADS)
0270 #define ACPI_DB_PARSE ACPI_DEBUG_LEVEL (ACPI_LV_PARSE)
0271 #define ACPI_DB_DISPATCH ACPI_DEBUG_LEVEL (ACPI_LV_DISPATCH)
0272 #define ACPI_DB_LOAD ACPI_DEBUG_LEVEL (ACPI_LV_LOAD)
0273 #define ACPI_DB_EXEC ACPI_DEBUG_LEVEL (ACPI_LV_EXEC)
0274 #define ACPI_DB_NAMES ACPI_DEBUG_LEVEL (ACPI_LV_NAMES)
0275 #define ACPI_DB_OPREGION ACPI_DEBUG_LEVEL (ACPI_LV_OPREGION)
0276 #define ACPI_DB_BFIELD ACPI_DEBUG_LEVEL (ACPI_LV_BFIELD)
0277 #define ACPI_DB_TABLES ACPI_DEBUG_LEVEL (ACPI_LV_TABLES)
0278 #define ACPI_DB_FUNCTIONS ACPI_DEBUG_LEVEL (ACPI_LV_FUNCTIONS)
0279 #define ACPI_DB_OPTIMIZATIONS ACPI_DEBUG_LEVEL (ACPI_LV_OPTIMIZATIONS)
0280 #define ACPI_DB_PARSE_TREES ACPI_DEBUG_LEVEL (ACPI_LV_PARSE_TREES)
0281 #define ACPI_DB_VALUES ACPI_DEBUG_LEVEL (ACPI_LV_VALUES)
0282 #define ACPI_DB_OBJECTS ACPI_DEBUG_LEVEL (ACPI_LV_OBJECTS)
0283 #define ACPI_DB_ALLOCATIONS ACPI_DEBUG_LEVEL (ACPI_LV_ALLOCATIONS)
0284 #define ACPI_DB_RESOURCES ACPI_DEBUG_LEVEL (ACPI_LV_RESOURCES)
0285 #define ACPI_DB_IO ACPI_DEBUG_LEVEL (ACPI_LV_IO)
0286 #define ACPI_DB_INTERRUPTS ACPI_DEBUG_LEVEL (ACPI_LV_INTERRUPTS)
0287 #define ACPI_DB_USER_REQUESTS ACPI_DEBUG_LEVEL (ACPI_LV_USER_REQUESTS)
0288 #define ACPI_DB_PACKAGE ACPI_DEBUG_LEVEL (ACPI_LV_PACKAGE)
0289 #define ACPI_DB_EVALUATION ACPI_DEBUG_LEVEL (ACPI_LV_EVALUATION)
0290 #define ACPI_DB_MUTEX ACPI_DEBUG_LEVEL (ACPI_LV_MUTEX)
0291 #define ACPI_DB_EVENTS ACPI_DEBUG_LEVEL (ACPI_LV_EVENTS)
0292
0293 #define ACPI_DB_ALL ACPI_DEBUG_LEVEL (ACPI_LV_ALL)
0294
0295
0296
0297 #define ACPI_DEBUG_DEFAULT (ACPI_LV_INIT | ACPI_LV_DEBUG_OBJECT | ACPI_LV_EVALUATION | ACPI_LV_REPAIR)
0298 #define ACPI_NORMAL_DEFAULT (ACPI_LV_INIT | ACPI_LV_DEBUG_OBJECT | ACPI_LV_REPAIR)
0299 #define ACPI_DEBUG_ALL (ACPI_LV_AML_DISASSEMBLE | ACPI_LV_ALL_EXCEPTIONS | ACPI_LV_ALL)
0300
0301
0302
0303
0304
0305 #define ACPI_TRACE_ENABLED ((UINT32) 4)
0306 #define ACPI_TRACE_ONESHOT ((UINT32) 2)
0307 #define ACPI_TRACE_OPCODE ((UINT32) 1)
0308
0309
0310
0311 #define ACPI_TRACE_LEVEL_ALL ACPI_LV_ALL
0312 #define ACPI_TRACE_LAYER_ALL 0x000001FF
0313 #define ACPI_TRACE_LEVEL_DEFAULT ACPI_LV_TRACE_POINT
0314 #define ACPI_TRACE_LAYER_DEFAULT ACPI_EXECUTER
0315
0316
0317 #if defined (ACPI_DEBUG_OUTPUT) || !defined (ACPI_NO_ERROR_MESSAGES)
0318
0319
0320
0321
0322
0323
0324 #define ACPI_MODULE_NAME(Name) static const char ACPI_UNUSED_VAR _AcpiModuleName[] = Name;
0325 #else
0326
0327
0328
0329
0330 #define ACPI_MODULE_NAME(Name)
0331 #define _AcpiModuleName ""
0332 #endif
0333
0334
0335
0336
0337 #ifndef ACPI_NO_ERROR_MESSAGES
0338 #define AE_INFO _AcpiModuleName, __LINE__
0339 #define ACPI_ONCE(_fn, _plist) { static char _done; if (!_done) { _done = 1; _fn _plist; } }
0340
0341
0342
0343
0344
0345
0346 #define ACPI_INFO(plist) AcpiInfo plist
0347 #define ACPI_WARNING(plist) AcpiWarning plist
0348 #define ACPI_WARNING_ONCE(plist) ACPI_ONCE(AcpiWarning, plist)
0349 #define ACPI_EXCEPTION(plist) AcpiException plist
0350 #define ACPI_ERROR(plist) AcpiError plist
0351 #define ACPI_ERROR_ONCE(plist) ACPI_ONCE(AcpiError, plist)
0352 #define ACPI_BIOS_WARNING(plist) AcpiBiosWarning plist
0353 #define ACPI_BIOS_EXCEPTION(plist) AcpiBiosException plist
0354 #define ACPI_BIOS_ERROR(plist) AcpiBiosError plist
0355 #define ACPI_DEBUG_OBJECT(obj,l,i) AcpiExDoDebugObject(obj,l,i)
0356
0357 #else
0358
0359
0360
0361 #define ACPI_INFO(plist)
0362 #define ACPI_WARNING(plist)
0363 #define ACPI_WARNING_ONCE(plist)
0364 #define ACPI_EXCEPTION(plist)
0365 #define ACPI_ERROR(plist)
0366 #define ACPI_ERROR_ONCE(plist)
0367 #define ACPI_BIOS_WARNING(plist)
0368 #define ACPI_BIOS_EXCEPTION(plist)
0369 #define ACPI_BIOS_ERROR(plist)
0370 #define ACPI_DEBUG_OBJECT(obj,l,i)
0371
0372 #endif
0373
0374
0375
0376
0377
0378 #ifdef ACPI_DEBUG_OUTPUT
0379
0380
0381
0382
0383
0384
0385 #ifndef ACPI_GET_FUNCTION_NAME
0386 #define ACPI_GET_FUNCTION_NAME _AcpiFunctionName
0387
0388
0389
0390
0391
0392
0393
0394 #define ACPI_FUNCTION_NAME(Name) static const char _AcpiFunctionName[] = #Name;
0395
0396 #else
0397
0398
0399 #define ACPI_FUNCTION_NAME(Name)
0400 #endif
0401
0402
0403
0404
0405
0406 #define ACPI_DEBUG_PARAMETERS \
0407 __LINE__, ACPI_GET_FUNCTION_NAME, _AcpiModuleName, _COMPONENT
0408
0409
0410
0411 #define ACPI_IS_DEBUG_ENABLED(Level, Component) \
0412 ((Level & AcpiDbgLevel) && (Component & AcpiDbgLayer))
0413
0414
0415
0416
0417
0418
0419
0420
0421
0422
0423
0424
0425
0426
0427
0428
0429 #ifdef ACPI_USE_DO_WHILE_0
0430 #define ACPI_DO_WHILE0(a) do a while(0)
0431 #else
0432 #define ACPI_DO_WHILE0(a) a
0433 #endif
0434
0435
0436
0437 #ifndef COMPILER_VA_MACRO
0438
0439 #define ACPI_DEBUG_PRINT(plist) AcpiDebugPrint plist
0440 #define ACPI_DEBUG_PRINT_RAW(plist) AcpiDebugPrintRaw plist
0441
0442 #else
0443
0444
0445
0446 #define ACPI_DO_DEBUG_PRINT(Function, Level, Line, Filename, Modulename, Component, ...) \
0447 ACPI_DO_WHILE0 ({ \
0448 if (ACPI_IS_DEBUG_ENABLED (Level, Component)) \
0449 { \
0450 Function (Level, Line, Filename, Modulename, Component, __VA_ARGS__); \
0451 } \
0452 })
0453
0454 #define ACPI_ACTUAL_DEBUG(Level, Line, Filename, Modulename, Component, ...) \
0455 ACPI_DO_DEBUG_PRINT (AcpiDebugPrint, Level, Line, \
0456 Filename, Modulename, Component, __VA_ARGS__)
0457
0458 #define ACPI_ACTUAL_DEBUG_RAW(Level, Line, Filename, Modulename, Component, ...) \
0459 ACPI_DO_DEBUG_PRINT (AcpiDebugPrintRaw, Level, Line, \
0460 Filename, Modulename, Component, __VA_ARGS__)
0461
0462 #define ACPI_DEBUG_PRINT(plist) ACPI_ACTUAL_DEBUG plist
0463 #define ACPI_DEBUG_PRINT_RAW(plist) ACPI_ACTUAL_DEBUG_RAW plist
0464
0465 #endif
0466
0467
0468
0469
0470
0471
0472
0473
0474
0475
0476
0477 #define ACPI_TRACE_ENTRY(Name, Function, Type, Param) \
0478 ACPI_FUNCTION_NAME (Name) \
0479 Function (ACPI_DEBUG_PARAMETERS, (Type) (Param))
0480
0481
0482
0483 #define ACPI_FUNCTION_TRACE(Name) \
0484 ACPI_FUNCTION_NAME(Name) \
0485 AcpiUtTrace (ACPI_DEBUG_PARAMETERS)
0486
0487 #define ACPI_FUNCTION_TRACE_PTR(Name, Pointer) \
0488 ACPI_TRACE_ENTRY (Name, AcpiUtTracePtr, void *, Pointer)
0489
0490 #define ACPI_FUNCTION_TRACE_U32(Name, Value) \
0491 ACPI_TRACE_ENTRY (Name, AcpiUtTraceU32, UINT32, Value)
0492
0493 #define ACPI_FUNCTION_TRACE_STR(Name, String) \
0494 ACPI_TRACE_ENTRY (Name, AcpiUtTraceStr, const char *, String)
0495
0496 #define ACPI_FUNCTION_ENTRY() \
0497 AcpiUtTrackStackPtr()
0498
0499
0500
0501
0502
0503
0504
0505
0506
0507
0508
0509
0510
0511
0512
0513
0514
0515
0516
0517
0518
0519
0520
0521 #ifndef ACPI_SIMPLE_RETURN_MACROS
0522
0523 #define ACPI_TRACE_EXIT(Function, Type, Param) \
0524 ACPI_DO_WHILE0 ({ \
0525 register Type _Param = (Type) (Param); \
0526 Function (ACPI_DEBUG_PARAMETERS, _Param); \
0527 return (_Param); \
0528 })
0529
0530 #else
0531
0532 #define ACPI_TRACE_EXIT(Function, Type, Param) \
0533 ACPI_DO_WHILE0 ({ \
0534 Function (ACPI_DEBUG_PARAMETERS, (Type) (Param)); \
0535 return (Param); \
0536 })
0537
0538 #endif
0539
0540
0541
0542 #define return_VOID \
0543 ACPI_DO_WHILE0 ({ \
0544 AcpiUtExit (ACPI_DEBUG_PARAMETERS); \
0545 return; \
0546 })
0547
0548 #define return_ACPI_STATUS(Status) \
0549 ACPI_TRACE_EXIT (AcpiUtStatusExit, ACPI_STATUS, Status)
0550
0551 #define return_PTR(Pointer) \
0552 ACPI_TRACE_EXIT (AcpiUtPtrExit, void *, Pointer)
0553
0554 #define return_STR(String) \
0555 ACPI_TRACE_EXIT (AcpiUtStrExit, const char *, String)
0556
0557 #define return_VALUE(Value) \
0558 ACPI_TRACE_EXIT (AcpiUtValueExit, UINT64, Value)
0559
0560 #define return_UINT32(Value) \
0561 ACPI_TRACE_EXIT (AcpiUtValueExit, UINT32, Value)
0562
0563 #define return_UINT8(Value) \
0564 ACPI_TRACE_EXIT (AcpiUtValueExit, UINT8, Value)
0565
0566
0567
0568 #define ACPI_DEBUG_EXEC(a) a
0569 #define ACPI_DEBUG_ONLY_MEMBERS(a) a
0570 #define _VERBOSE_STRUCTURES
0571
0572
0573
0574
0575 #define ACPI_DUMP_STACK_ENTRY(a) AcpiExDumpOperand((a), 0)
0576 #define ACPI_DUMP_OPERANDS(a, b ,c) AcpiExDumpOperands(a, b, c)
0577 #define ACPI_DUMP_ENTRY(a, b) AcpiNsDumpEntry (a, b)
0578 #define ACPI_DUMP_PATHNAME(a, b, c, d) AcpiNsDumpPathname(a, b, c, d)
0579 #define ACPI_DUMP_BUFFER(a, b) AcpiUtDebugDumpBuffer((UINT8 *) a, b, DB_BYTE_DISPLAY, _COMPONENT)
0580
0581 #define ACPI_TRACE_POINT(a, b, c, d) AcpiTracePoint (a, b, c, d)
0582
0583 #else
0584
0585
0586
0587
0588 #define ACPI_DEBUG_PRINT(pl)
0589 #define ACPI_DEBUG_PRINT_RAW(pl)
0590 #define ACPI_DEBUG_EXEC(a)
0591 #define ACPI_DEBUG_ONLY_MEMBERS(a)
0592 #define ACPI_FUNCTION_NAME(a)
0593 #define ACPI_FUNCTION_TRACE(a)
0594 #define ACPI_FUNCTION_TRACE_PTR(a, b)
0595 #define ACPI_FUNCTION_TRACE_U32(a, b)
0596 #define ACPI_FUNCTION_TRACE_STR(a, b)
0597 #define ACPI_FUNCTION_ENTRY()
0598 #define ACPI_DUMP_STACK_ENTRY(a)
0599 #define ACPI_DUMP_OPERANDS(a, b, c)
0600 #define ACPI_DUMP_ENTRY(a, b)
0601 #define ACPI_DUMP_PATHNAME(a, b, c, d)
0602 #define ACPI_DUMP_BUFFER(a, b)
0603 #define ACPI_IS_DEBUG_ENABLED(Level, Component) 0
0604 #define ACPI_TRACE_POINT(a, b, c, d)
0605
0606
0607
0608 #define return_VOID return
0609 #define return_ACPI_STATUS(s) return(s)
0610 #define return_PTR(s) return(s)
0611 #define return_STR(s) return(s)
0612 #define return_VALUE(s) return(s)
0613 #define return_UINT8(s) return(s)
0614 #define return_UINT32(s) return(s)
0615
0616 #endif
0617
0618
0619 #endif