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

📄 cmdebug.c

📁 Linux内核源代码 为压缩文件 是<<Linux内核>>一书中的源代码
💻 C
📖 第 1 页 / 共 2 页
字号:
	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 + -