⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 utdebug.c

📁 这个linux源代码是很全面的~基本完整了~使用c编译的~由于时间问题我没有亲自测试~但就算用来做参考资料也是非常好的
💻 C
📖 第 1 页 / 共 2 页
字号:
/***************************************************************************** * * FUNCTION:    Acpi_ut_trace_u32 * * PARAMETERS:  Line_number         - Caller's line number *              Dbg_info            - Contains: *                  Proc_name           - Caller's procedure name *                  Module_name         - Caller's module name *                  Component_id        - Caller's component ID *              Integer             - Integer to display * * RETURN:      None * * DESCRIPTION: Function entry trace.  Prints only if TRACE_FUNCTIONS bit is *              set in Debug_level * ****************************************************************************/voidacpi_ut_trace_u32 (	u32                     line_number,	acpi_debug_print_info   *dbg_info,	u32                     integer){	acpi_gbl_nesting_level++;	acpi_ut_track_stack_ptr ();	acpi_ut_debug_print (ACPI_LV_FUNCTIONS, line_number, dbg_info,			"%s %08X\n", acpi_gbl_fn_entry_str, integer);}/***************************************************************************** * * FUNCTION:    Acpi_ut_exit * * PARAMETERS:  Line_number         - Caller's line number *              Dbg_info            - Contains: *                  Proc_name           - Caller's procedure name *                  Module_name         - Caller's module name *                  Component_id        - Caller's component ID * * RETURN:      None * * DESCRIPTION: Function exit trace.  Prints only if TRACE_FUNCTIONS bit is *              set in Debug_level * ****************************************************************************/voidacpi_ut_exit (	u32                     line_number,	acpi_debug_print_info   *dbg_info){	acpi_ut_debug_print (ACPI_LV_FUNCTIONS, line_number, dbg_info,			"%s\n", acpi_gbl_fn_exit_str);	acpi_gbl_nesting_level--;}/***************************************************************************** * * FUNCTION:    Acpi_ut_status_exit * * PARAMETERS:  Line_number         - Caller's line number *              Dbg_info            - Contains: *                  Proc_name           - Caller's procedure name *                  Module_name         - Caller's module name *                  Component_id        - Caller's component ID *              Status              - Exit status code * * RETURN:      None * * DESCRIPTION: Function exit trace.  Prints only if TRACE_FUNCTIONS bit is *              set in Debug_level. Prints exit status also. * ****************************************************************************/voidacpi_ut_status_exit (	u32                     line_number,	acpi_debug_print_info   *dbg_info,	acpi_status             status){	if (ACPI_SUCCESS (status)) {		acpi_ut_debug_print (ACPI_LV_FUNCTIONS, line_number, dbg_info,				"%s %s\n", acpi_gbl_fn_exit_str,				acpi_format_exception (status));	}	else {		acpi_ut_debug_print (ACPI_LV_FUNCTIONS, line_number, dbg_info,				"%s ****Exception****: %s\n", acpi_gbl_fn_exit_str,				acpi_format_exception (status));	}	acpi_gbl_nesting_level--;}/***************************************************************************** * * FUNCTION:    Acpi_ut_value_exit * * PARAMETERS:  Line_number         - Caller's line number *              Dbg_info            - Contains: *                  Proc_name           - Caller's procedure name *                  Module_name         - Caller's module name *                  Component_id        - Caller's component ID *              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. * ****************************************************************************/voidacpi_ut_value_exit (	u32                     line_number,	acpi_debug_print_info   *dbg_info,	acpi_integer            value){	acpi_ut_debug_print (ACPI_LV_FUNCTIONS, line_number, dbg_info,			"%s %8.8X%8.8X\n", acpi_gbl_fn_exit_str, HIDWORD(value), LODWORD(value));	acpi_gbl_nesting_level--;}/***************************************************************************** * * FUNCTION:    Acpi_ut_ptr_exit * * PARAMETERS:  Line_number         - Caller's line number *              Dbg_info            - Contains: *                  Proc_name           - Caller's procedure name *                  Module_name         - Caller's module name *                  Component_id        - Caller's component ID *              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. * ****************************************************************************/voidacpi_ut_ptr_exit (	u32                     line_number,	acpi_debug_print_info   *dbg_info,	u8                      *ptr){	acpi_ut_debug_print (ACPI_LV_FUNCTIONS, line_number, dbg_info,			"%s %p\n", acpi_gbl_fn_exit_str, ptr);	acpi_gbl_nesting_level--;}#endif/***************************************************************************** * * FUNCTION:    Acpi_ut_dump_buffer * * PARAMETERS:  Buffer              - Buffer to dump *              Count               - Amount to dump, in bytes *              Display             - BYTE, WORD, DWORD, or QWORD display *              Component_iD        - Caller's component ID * * RETURN:      None * * DESCRIPTION: Generic dump buffer in both hex and ascii. * ****************************************************************************/voidacpi_ut_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 (!((ACPI_LV_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 + -