1212700Sjkim/******************************************************************************* 2212700Sjkim * 3212700Sjkim * Module Name: utxferror - Various error/warning output functions 4212700Sjkim * 5212700Sjkim ******************************************************************************/ 6212700Sjkim 7217365Sjkim/* 8245582Sjkim * Copyright (C) 2000 - 2013, Intel Corp. 9212700Sjkim * All rights reserved. 10212700Sjkim * 11217365Sjkim * Redistribution and use in source and binary forms, with or without 12217365Sjkim * modification, are permitted provided that the following conditions 13217365Sjkim * are met: 14217365Sjkim * 1. Redistributions of source code must retain the above copyright 15217365Sjkim * notice, this list of conditions, and the following disclaimer, 16217365Sjkim * without modification. 17217365Sjkim * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18217365Sjkim * substantially similar to the "NO WARRANTY" disclaimer below 19217365Sjkim * ("Disclaimer") and any redistribution must be conditioned upon 20217365Sjkim * including a substantially similar Disclaimer requirement for further 21217365Sjkim * binary redistribution. 22217365Sjkim * 3. Neither the names of the above-listed copyright holders nor the names 23217365Sjkim * of any contributors may be used to endorse or promote products derived 24217365Sjkim * from this software without specific prior written permission. 25212700Sjkim * 26217365Sjkim * Alternatively, this software may be distributed under the terms of the 27217365Sjkim * GNU General Public License ("GPL") version 2 as published by the Free 28217365Sjkim * Software Foundation. 29212700Sjkim * 30217365Sjkim * NO WARRANTY 31217365Sjkim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32217365Sjkim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33217365Sjkim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34217365Sjkim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35217365Sjkim * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36217365Sjkim * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37217365Sjkim * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38217365Sjkim * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39217365Sjkim * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40217365Sjkim * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41217365Sjkim * POSSIBILITY OF SUCH DAMAGES. 42217365Sjkim */ 43212700Sjkim 44212700Sjkim#define __UTXFERROR_C__ 45212700Sjkim 46212761Sjkim#include <contrib/dev/acpica/include/acpi.h> 47212761Sjkim#include <contrib/dev/acpica/include/accommon.h> 48212700Sjkim 49212700Sjkim 50212700Sjkim#define _COMPONENT ACPI_UTILITIES 51212700Sjkim ACPI_MODULE_NAME ("utxferror") 52212700Sjkim 53212700Sjkim/* 54212700Sjkim * This module is used for the in-kernel ACPICA as well as the ACPICA 55212700Sjkim * tools/applications. 56212700Sjkim */ 57212700Sjkim 58212700Sjkim/******************************************************************************* 59212700Sjkim * 60212700Sjkim * FUNCTION: AcpiError 61212700Sjkim * 62212700Sjkim * PARAMETERS: ModuleName - Caller's module name (for error output) 63212700Sjkim * LineNumber - Caller's line number (for error output) 64212700Sjkim * Format - Printf format string + additional args 65212700Sjkim * 66212700Sjkim * RETURN: None 67212700Sjkim * 68212700Sjkim * DESCRIPTION: Print "ACPI Error" message with module/line/version info 69212700Sjkim * 70212700Sjkim ******************************************************************************/ 71212700Sjkim 72212700Sjkimvoid ACPI_INTERNAL_VAR_XFACE 73212700SjkimAcpiError ( 74212700Sjkim const char *ModuleName, 75212700Sjkim UINT32 LineNumber, 76212700Sjkim const char *Format, 77212700Sjkim ...) 78212700Sjkim{ 79212700Sjkim va_list ArgList; 80212700Sjkim 81212700Sjkim 82212700Sjkim ACPI_MSG_REDIRECT_BEGIN; 83212700Sjkim AcpiOsPrintf (ACPI_MSG_ERROR); 84212700Sjkim 85212700Sjkim va_start (ArgList, Format); 86212700Sjkim AcpiOsVprintf (Format, ArgList); 87212700Sjkim ACPI_MSG_SUFFIX; 88212700Sjkim va_end (ArgList); 89212700Sjkim 90212700Sjkim ACPI_MSG_REDIRECT_END; 91212700Sjkim} 92212700Sjkim 93212700SjkimACPI_EXPORT_SYMBOL (AcpiError) 94212700Sjkim 95212700Sjkim 96212700Sjkim/******************************************************************************* 97212700Sjkim * 98212700Sjkim * FUNCTION: AcpiException 99212700Sjkim * 100212700Sjkim * PARAMETERS: ModuleName - Caller's module name (for error output) 101212700Sjkim * LineNumber - Caller's line number (for error output) 102212700Sjkim * Status - Status to be formatted 103212700Sjkim * Format - Printf format string + additional args 104212700Sjkim * 105212700Sjkim * RETURN: None 106212700Sjkim * 107212700Sjkim * DESCRIPTION: Print "ACPI Exception" message with module/line/version info 108212700Sjkim * and decoded ACPI_STATUS. 109212700Sjkim * 110212700Sjkim ******************************************************************************/ 111212700Sjkim 112212700Sjkimvoid ACPI_INTERNAL_VAR_XFACE 113212700SjkimAcpiException ( 114212700Sjkim const char *ModuleName, 115212700Sjkim UINT32 LineNumber, 116212700Sjkim ACPI_STATUS Status, 117212700Sjkim const char *Format, 118212700Sjkim ...) 119212700Sjkim{ 120212700Sjkim va_list ArgList; 121212700Sjkim 122212700Sjkim 123212700Sjkim ACPI_MSG_REDIRECT_BEGIN; 124212700Sjkim AcpiOsPrintf (ACPI_MSG_EXCEPTION "%s, ", AcpiFormatException (Status)); 125212700Sjkim 126212700Sjkim va_start (ArgList, Format); 127212700Sjkim AcpiOsVprintf (Format, ArgList); 128212700Sjkim ACPI_MSG_SUFFIX; 129212700Sjkim va_end (ArgList); 130212700Sjkim 131212700Sjkim ACPI_MSG_REDIRECT_END; 132212700Sjkim} 133212700Sjkim 134212700SjkimACPI_EXPORT_SYMBOL (AcpiException) 135212700Sjkim 136212700Sjkim 137212700Sjkim/******************************************************************************* 138212700Sjkim * 139212700Sjkim * FUNCTION: AcpiWarning 140212700Sjkim * 141212700Sjkim * PARAMETERS: ModuleName - Caller's module name (for error output) 142212700Sjkim * LineNumber - Caller's line number (for error output) 143212700Sjkim * Format - Printf format string + additional args 144212700Sjkim * 145212700Sjkim * RETURN: None 146212700Sjkim * 147212700Sjkim * DESCRIPTION: Print "ACPI Warning" message with module/line/version info 148212700Sjkim * 149212700Sjkim ******************************************************************************/ 150212700Sjkim 151212700Sjkimvoid ACPI_INTERNAL_VAR_XFACE 152212700SjkimAcpiWarning ( 153212700Sjkim const char *ModuleName, 154212700Sjkim UINT32 LineNumber, 155212700Sjkim const char *Format, 156212700Sjkim ...) 157212700Sjkim{ 158212700Sjkim va_list ArgList; 159212700Sjkim 160212700Sjkim 161212700Sjkim ACPI_MSG_REDIRECT_BEGIN; 162212700Sjkim AcpiOsPrintf (ACPI_MSG_WARNING); 163212700Sjkim 164212700Sjkim va_start (ArgList, Format); 165212700Sjkim AcpiOsVprintf (Format, ArgList); 166212700Sjkim ACPI_MSG_SUFFIX; 167212700Sjkim va_end (ArgList); 168212700Sjkim 169212700Sjkim ACPI_MSG_REDIRECT_END; 170212700Sjkim} 171212700Sjkim 172212700SjkimACPI_EXPORT_SYMBOL (AcpiWarning) 173212700Sjkim 174212700Sjkim 175212700Sjkim/******************************************************************************* 176212700Sjkim * 177212700Sjkim * FUNCTION: AcpiInfo 178212700Sjkim * 179212700Sjkim * PARAMETERS: ModuleName - Caller's module name (for error output) 180212700Sjkim * LineNumber - Caller's line number (for error output) 181212700Sjkim * Format - Printf format string + additional args 182212700Sjkim * 183212700Sjkim * RETURN: None 184212700Sjkim * 185212700Sjkim * DESCRIPTION: Print generic "ACPI:" information message. There is no 186212700Sjkim * module/line/version info in order to keep the message simple. 187212700Sjkim * 188212700Sjkim * TBD: ModuleName and LineNumber args are not needed, should be removed. 189212700Sjkim * 190212700Sjkim ******************************************************************************/ 191212700Sjkim 192212700Sjkimvoid ACPI_INTERNAL_VAR_XFACE 193212700SjkimAcpiInfo ( 194212700Sjkim const char *ModuleName, 195212700Sjkim UINT32 LineNumber, 196212700Sjkim const char *Format, 197212700Sjkim ...) 198212700Sjkim{ 199212700Sjkim va_list ArgList; 200212700Sjkim 201212761Sjkim#ifdef _KERNEL 202212761Sjkim /* Temporarily hide too verbose printfs. */ 203212761Sjkim if (!bootverbose) 204212761Sjkim return; 205212761Sjkim#endif 206212700Sjkim 207212700Sjkim ACPI_MSG_REDIRECT_BEGIN; 208212700Sjkim AcpiOsPrintf (ACPI_MSG_INFO); 209212700Sjkim 210212700Sjkim va_start (ArgList, Format); 211212700Sjkim AcpiOsVprintf (Format, ArgList); 212212700Sjkim AcpiOsPrintf ("\n"); 213212700Sjkim va_end (ArgList); 214212700Sjkim 215212700Sjkim ACPI_MSG_REDIRECT_END; 216212700Sjkim} 217212700Sjkim 218212700SjkimACPI_EXPORT_SYMBOL (AcpiInfo) 219212700Sjkim 220212700Sjkim 221238381Sjkim/******************************************************************************* 222238381Sjkim * 223238381Sjkim * FUNCTION: AcpiBiosError 224238381Sjkim * 225238381Sjkim * PARAMETERS: ModuleName - Caller's module name (for error output) 226238381Sjkim * LineNumber - Caller's line number (for error output) 227238381Sjkim * Format - Printf format string + additional args 228238381Sjkim * 229238381Sjkim * RETURN: None 230238381Sjkim * 231238381Sjkim * DESCRIPTION: Print "ACPI Firmware Error" message with module/line/version 232238381Sjkim * info 233238381Sjkim * 234238381Sjkim ******************************************************************************/ 235238381Sjkim 236238381Sjkimvoid ACPI_INTERNAL_VAR_XFACE 237238381SjkimAcpiBiosError ( 238238381Sjkim const char *ModuleName, 239238381Sjkim UINT32 LineNumber, 240238381Sjkim const char *Format, 241238381Sjkim ...) 242238381Sjkim{ 243238381Sjkim va_list ArgList; 244238381Sjkim 245238381Sjkim 246238381Sjkim ACPI_MSG_REDIRECT_BEGIN; 247238381Sjkim AcpiOsPrintf (ACPI_MSG_BIOS_ERROR); 248238381Sjkim 249238381Sjkim va_start (ArgList, Format); 250238381Sjkim AcpiOsVprintf (Format, ArgList); 251238381Sjkim ACPI_MSG_SUFFIX; 252238381Sjkim va_end (ArgList); 253238381Sjkim 254238381Sjkim ACPI_MSG_REDIRECT_END; 255238381Sjkim} 256238381Sjkim 257238381SjkimACPI_EXPORT_SYMBOL (AcpiBiosError) 258238381Sjkim 259238381Sjkim 260238381Sjkim/******************************************************************************* 261238381Sjkim * 262238381Sjkim * FUNCTION: AcpiBiosWarning 263238381Sjkim * 264238381Sjkim * PARAMETERS: ModuleName - Caller's module name (for error output) 265238381Sjkim * LineNumber - Caller's line number (for error output) 266238381Sjkim * Format - Printf format string + additional args 267238381Sjkim * 268238381Sjkim * RETURN: None 269238381Sjkim * 270238381Sjkim * DESCRIPTION: Print "ACPI Firmware Warning" message with module/line/version 271238381Sjkim * info 272238381Sjkim * 273238381Sjkim ******************************************************************************/ 274238381Sjkim 275238381Sjkimvoid ACPI_INTERNAL_VAR_XFACE 276238381SjkimAcpiBiosWarning ( 277238381Sjkim const char *ModuleName, 278238381Sjkim UINT32 LineNumber, 279238381Sjkim const char *Format, 280238381Sjkim ...) 281238381Sjkim{ 282238381Sjkim va_list ArgList; 283238381Sjkim 284238381Sjkim 285238381Sjkim ACPI_MSG_REDIRECT_BEGIN; 286238381Sjkim AcpiOsPrintf (ACPI_MSG_BIOS_WARNING); 287238381Sjkim 288238381Sjkim va_start (ArgList, Format); 289238381Sjkim AcpiOsVprintf (Format, ArgList); 290238381Sjkim ACPI_MSG_SUFFIX; 291238381Sjkim va_end (ArgList); 292238381Sjkim 293238381Sjkim ACPI_MSG_REDIRECT_END; 294238381Sjkim} 295238381Sjkim 296238381SjkimACPI_EXPORT_SYMBOL (AcpiBiosWarning) 297