utdebug.c revision 7b1019a6d29ccb7999dc76cba3dde1c627e8e609
843e19887f64dde75055cf8842fc4db2171eff45johnlev/******************************************************************************
843e19887f64dde75055cf8842fc4db2171eff45johnlev * Module Name: utdebug - Debug print/trace routines
843e19887f64dde75055cf8842fc4db2171eff45johnlev *****************************************************************************/
843e19887f64dde75055cf8842fc4db2171eff45johnlev * Copyright (C) 2000 - 2016, Intel Corp.
843e19887f64dde75055cf8842fc4db2171eff45johnlev * All rights reserved.
843e19887f64dde75055cf8842fc4db2171eff45johnlev * Redistribution and use in source and binary forms, with or without
843e19887f64dde75055cf8842fc4db2171eff45johnlev * modification, are permitted provided that the following conditions
843e19887f64dde75055cf8842fc4db2171eff45johnlev * 1. Redistributions of source code must retain the above copyright
843e19887f64dde75055cf8842fc4db2171eff45johnlev * notice, this list of conditions, and the following disclaimer,
843e19887f64dde75055cf8842fc4db2171eff45johnlev * without modification.
843e19887f64dde75055cf8842fc4db2171eff45johnlev * 2. Redistributions in binary form must reproduce at minimum a disclaimer
843e19887f64dde75055cf8842fc4db2171eff45johnlev * substantially similar to the "NO WARRANTY" disclaimer below
843e19887f64dde75055cf8842fc4db2171eff45johnlev * ("Disclaimer") and any redistribution must be conditioned upon
843e19887f64dde75055cf8842fc4db2171eff45johnlev * including a substantially similar Disclaimer requirement for further
843e19887f64dde75055cf8842fc4db2171eff45johnlev * binary redistribution.
843e19887f64dde75055cf8842fc4db2171eff45johnlev * 3. Neither the names of the above-listed copyright holders nor the names
843e19887f64dde75055cf8842fc4db2171eff45johnlev * of any contributors may be used to endorse or promote products derived
843e19887f64dde75055cf8842fc4db2171eff45johnlev * from this software without specific prior written permission.
843e19887f64dde75055cf8842fc4db2171eff45johnlev * Alternatively, this software may be distributed under the terms of the
843e19887f64dde75055cf8842fc4db2171eff45johnlev * GNU General Public License ("GPL") version 2 as published by the Free
843e19887f64dde75055cf8842fc4db2171eff45johnlev * Software Foundation.
843e19887f64dde75055cf8842fc4db2171eff45johnlev * NO WARRANTY
843e19887f64dde75055cf8842fc4db2171eff45johnlev * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
843e19887f64dde75055cf8842fc4db2171eff45johnlev * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
843e19887f64dde75055cf8842fc4db2171eff45johnlev * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
843e19887f64dde75055cf8842fc4db2171eff45johnlev * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
843e19887f64dde75055cf8842fc4db2171eff45johnlev * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
843e19887f64dde75055cf8842fc4db2171eff45johnlev * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
843e19887f64dde75055cf8842fc4db2171eff45johnlev * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
843e19887f64dde75055cf8842fc4db2171eff45johnlev * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
843e19887f64dde75055cf8842fc4db2171eff45johnlev * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
843e19887f64dde75055cf8842fc4db2171eff45johnlev * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
843e19887f64dde75055cf8842fc4db2171eff45johnlev * POSSIBILITY OF SUCH DAMAGES.
843e19887f64dde75055cf8842fc4db2171eff45johnlevstatic ACPI_THREAD_ID AcpiGbl_PreviousThreadId = (ACPI_THREAD_ID) 0xFFFFFFFF;
843e19887f64dde75055cf8842fc4db2171eff45johnlevstatic const char *AcpiGbl_FunctionEntryPrefix = "----Entry";
843e19887f64dde75055cf8842fc4db2171eff45johnlevstatic const char *AcpiGbl_FunctionExitPrefix = "----Exit-";
843e19887f64dde75055cf8842fc4db2171eff45johnlev/*******************************************************************************
843e19887f64dde75055cf8842fc4db2171eff45johnlev * FUNCTION: AcpiUtInitStackPtrTrace
843e19887f64dde75055cf8842fc4db2171eff45johnlev * PARAMETERS: None
843e19887f64dde75055cf8842fc4db2171eff45johnlev * RETURN: None
843e19887f64dde75055cf8842fc4db2171eff45johnlev * DESCRIPTION: Save the current CPU stack pointer at subsystem startup
843e19887f64dde75055cf8842fc4db2171eff45johnlev ******************************************************************************/
843e19887f64dde75055cf8842fc4db2171eff45johnlev/*******************************************************************************
843e19887f64dde75055cf8842fc4db2171eff45johnlev * FUNCTION: AcpiUtTrackStackPtr
const char *FunctionName)
return (FunctionName);
const char *FunctionName,
const char *ModuleName,
const char *Format,
AcpiGbl_NestingLevel = 0;
#ifdef ACPI_APPLICATION
const char *FunctionName,
const char *ModuleName,
const char *Format,
const char *FunctionName,
const char *ModuleName,
const char *FunctionName,
const char *ModuleName,
const void *Pointer)
const char *FunctionName,
const char *ModuleName,
const char *String)
const char *FunctionName,
const char *ModuleName,
const char *FunctionName,
const char *ModuleName,
if (AcpiGbl_NestingLevel)
const char *FunctionName,
const char *ModuleName,
if (AcpiGbl_NestingLevel)
const char *FunctionName,
const char *ModuleName,
if (AcpiGbl_NestingLevel)
const char *FunctionName,
const char *ModuleName,
if (AcpiGbl_NestingLevel)
const char *FunctionName,
const char *ModuleName,
const char *String)
if (AcpiGbl_NestingLevel)
char *Pathname)
#ifdef ACPI_USE_SYSTEM_TRACER
#ifdef ACPI_APPLICATION
const char *Format,