📄 cmdebug.c
字号:
u32 line_number, u32 component_id, NATIVE_CHAR *function_name, NATIVE_UINT value){ debug_print (module_name, line_number, component_id, TRACE_FUNCTIONS, " %2.2ld Exiting Function: %s, %X\n", acpi_gbl_nesting_level, function_name, value); acpi_gbl_nesting_level--;}/***************************************************************************** * * FUNCTION: Function_ptr_exit * * PARAMETERS: Module_name - Caller's module name (for error output) * Line_number - Caller's line number (for error output) * Component_id - Caller's component ID (for error output) * Function_name - Name of Caller's function * Value - Value to be printed with exit msg * * RETURN: None * * DESCRIPTION: Function exit trace. Prints only if TRACE_FUNCTIONS bit is * set in Debug_level. Prints exit value also. * ****************************************************************************/voidfunction_ptr_exit ( NATIVE_CHAR *module_name, u32 line_number, u32 component_id, NATIVE_CHAR *function_name, u8 *ptr){ debug_print (module_name, line_number, component_id, TRACE_FUNCTIONS, " %2.2ld Exiting Function: %s, %p\n", acpi_gbl_nesting_level, function_name, ptr); acpi_gbl_nesting_level--;}/***************************************************************************** * * FUNCTION: Debug_print * * PARAMETERS: Module_name - Caller's module name (for error output) * Line_number - Caller's line number (for error output) * Component_id - Caller's component ID (for error output) * Print_level - Requested debug print level * Format - Printf format field * ... - Optional printf arguments * * RETURN: None * * DESCRIPTION: Print error message with prefix consisting of the module name, * line number, and component ID. * ****************************************************************************/voiddebug_print ( NATIVE_CHAR *module_name, u32 line_number, u32 component_id, u32 print_level, NATIVE_CHAR *format, ...){ va_list args; /* Both the level and the component must be enabled */ if ((print_level & acpi_dbg_level) && (component_id & acpi_dbg_layer)) { va_start (args, format); acpi_os_printf ("%8s-%04d: ", module_name, line_number); acpi_os_vprintf (format, args); }}/***************************************************************************** * * FUNCTION: Debug_print_prefix * * PARAMETERS: Module_name - Caller's module name (for error output) * Line_number - Caller's line number (for error output) * Component_id - Caller's component ID (for error output) * * RETURN: None * * DESCRIPTION: Print the prefix part of an error message, consisting of the * module name, and line number * ****************************************************************************/voiddebug_print_prefix ( NATIVE_CHAR *module_name, u32 line_number){ acpi_os_printf ("%8s-%04d: ", module_name, line_number);}/***************************************************************************** * * FUNCTION: Debug_print_raw * * PARAMETERS: Format - Printf format field * ... - Optional printf arguments * * RETURN: None * * DESCRIPTION: Print error message -- without module/line indentifiers * ****************************************************************************/voiddebug_print_raw ( NATIVE_CHAR *format, ...){ va_list args; va_start (args, format); acpi_os_vprintf (format, args); va_end (args);}/***************************************************************************** * * FUNCTION: Acpi_cm_dump_buffer * * PARAMETERS: Buffer - Buffer to dump * Count - Amount to dump, in bytes * Component_iD - Caller's component ID * * RETURN: None * * DESCRIPTION: Generic dump buffer in both hex and ascii. * ****************************************************************************/voidacpi_cm_dump_buffer ( u8 *buffer, u32 count, u32 display, u32 component_id){ u32 i = 0; u32 j; u32 temp32; u8 buf_char; /* Only dump the buffer if tracing is enabled */ if (!((TRACE_TABLES & acpi_dbg_level) && (component_id & acpi_dbg_layer))) { return; } /* * Nasty little dump buffer routine! */ while (i < count) { /* Print current offset */ acpi_os_printf ("%05X ", i); /* Print 16 hex chars */ for (j = 0; j < 16;) { if (i + j >= count) { acpi_os_printf ("\n"); return; } /* Make sure that the s8 doesn't get sign-extended! */ switch (display) { /* Default is BYTE display */ default: acpi_os_printf ("%02X ", *((u8 *) &buffer[i + j])); j += 1; break; case DB_WORD_DISPLAY: MOVE_UNALIGNED16_TO_32 (&temp32, &buffer[i + j]); acpi_os_printf ("%04X ", temp32); j += 2; break; case DB_DWORD_DISPLAY: MOVE_UNALIGNED32_TO_32 (&temp32, &buffer[i + j]); acpi_os_printf ("%08X ", temp32); j += 4; break; case DB_QWORD_DISPLAY: MOVE_UNALIGNED32_TO_32 (&temp32, &buffer[i + j]); acpi_os_printf ("%08X", temp32); MOVE_UNALIGNED32_TO_32 (&temp32, &buffer[i + j + 4]); acpi_os_printf ("%08X ", temp32); j += 8; break; } } /* * Print the ASCII equivalent characters * But watch out for the bad unprintable ones... */ for (j = 0; j < 16; j++) { if (i + j >= count) { acpi_os_printf ("\n"); return; } buf_char = buffer[i + j]; if ((buf_char > 0x1F && buf_char < 0x2E) || (buf_char > 0x2F && buf_char < 0x61) || (buf_char > 0x60 && buf_char < 0x7F)) { acpi_os_printf ("%c", buf_char); } else { acpi_os_printf ("."); } } /* Done with that line. */ acpi_os_printf ("\n"); i += 16; } return;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -