From patchwork Tue Feb 3 23:17:55 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Len Brown X-Patchwork-Id: 5306 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n13NI0it013558 for ; Tue, 3 Feb 2009 23:18:01 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751627AbZBCXSA (ORCPT ); Tue, 3 Feb 2009 18:18:00 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752116AbZBCXSA (ORCPT ); Tue, 3 Feb 2009 18:18:00 -0500 Received: from vms173003pub.verizon.net ([206.46.173.3]:12936 "EHLO vms173003pub.verizon.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751627AbZBCXR7 (ORCPT ); Tue, 3 Feb 2009 18:17:59 -0500 Received: from localhost.localdomain ([96.237.168.40]) by vms173003.mailsrvcs.net (Sun Java(tm) System Messaging Server 6.3-2.01 (built Jun 13 2007; 32bit)) with ESMTPA id <0KEI00KXMJDXSZ75@vms173003.mailsrvcs.net> for linux-acpi@vger.kernel.org; Tue, 03 Feb 2009 17:17:58 -0600 (CST) Received: from localhost.localdomain (d975xbx2 [127.0.0.1]) by localhost.localdomain (8.14.2/8.14.2) with ESMTP id n13NHuCE007087; Tue, 03 Feb 2009 18:17:56 -0500 Received: from localhost (lenb@localhost) by localhost.localdomain (8.14.2/8.14.2/Submit) with ESMTP id n13NHtwU007082; Tue, 03 Feb 2009 18:17:56 -0500 X-Authentication-warning: localhost.localdomain: lenb owned process doing -bs Date: Tue, 03 Feb 2009 18:17:55 -0500 (EST) From: Len Brown X-X-Sender: lenb@localhost.localdomain To: devel@lists.acpica.org Cc: linux-acpi@vger.kernel.org Subject: [PATCH] ACPICA: add debug dump of BIOS _OSI strings Message-id: User-Agent: Alpine 2.00 (LFD 1167 2008-08-23) MIME-version: 1.0 Content-type: TEXT/PLAIN; charset=US-ASCII Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org Bob, I'd like to make this minor change to the (linuxized) ACPICA code, for it can tell us a little about the BIOS w/o having the user go to the trouble to dump the tables etc. If you made this change in the upstream ACPICA code, then that would be dandy. thanks, -Len From 3e0676a9b699d12b2bd0a8807459ac4277b181fc Mon Sep 17 00:00:00 2001 From: Len Brown Date: Tue, 3 Feb 2009 18:04:39 -0500 Subject: [PATCH] ACPICA: add debug dump of BIOS _OSI strings Organization: Intel Open Source Technology Center on boot, print out the OSI strings the BIOS uses to query the OS. To see this output... build with CONFIG_ACPI_DEBUG boot with "acpi.debug_level=4" (ACPI_LV_INFO) (enabled by default) and "acpi.debug_level=1" (ACPI_UTILITIES) (default is 0) example output: ACPI: BIOS _OSI(Windows 2001) supported ACPI: BIOS _OSI(Windows 2001 SP1) supported ACPI: BIOS _OSI(Windows 2001 SP2) supported ACPI: BIOS _OSI(Windows 2006) supported ACPI: BIOS _OSI(Linux) not-supported ACPI: BIOS _OSI(FreeBSD) not-supported Signed-off-by: Len Brown --- drivers/acpi/acpica/uteval.c | 21 +++++++++------------ 1 files changed, 9 insertions(+), 12 deletions(-) diff --git a/drivers/acpi/acpica/uteval.c b/drivers/acpi/acpica/uteval.c index da9450b..9c9897d 100644 --- a/drivers/acpi/acpica/uteval.c +++ b/drivers/acpi/acpica/uteval.c @@ -116,9 +116,9 @@ acpi_status acpi_ut_osi_implementation(struct acpi_walk_state *walk_state) return_ACPI_STATUS(AE_NO_MEMORY); } - /* Default return value is SUPPORTED */ + /* Default return value is 0, NOT-SUPPORTED */ - return_desc->integer.value = ACPI_UINT32_MAX; + return_desc->integer.value = 0; walk_state->return_desc = return_desc; /* Compare input string to static table of supported interfaces */ @@ -127,10 +127,8 @@ acpi_status acpi_ut_osi_implementation(struct acpi_walk_state *walk_state) if (!ACPI_STRCMP (string_desc->string.pointer, acpi_interfaces_supported[i])) { - - /* The interface is supported */ - - return_ACPI_STATUS(AE_OK); + return_desc->integer.value = ACPI_UINT32_MAX; + goto done; } } @@ -141,15 +139,14 @@ acpi_status acpi_ut_osi_implementation(struct acpi_walk_state *walk_state) */ status = acpi_os_validate_interface(string_desc->string.pointer); if (ACPI_SUCCESS(status)) { - - /* The interface is supported */ - - return_ACPI_STATUS(AE_OK); + return_desc->integer.value = ACPI_UINT32_MAX; } - /* The interface is not supported */ +done: + ACPI_DEBUG_PRINT_RAW((ACPI_DB_INFO, "ACPI: BIOS _OSI(%s) %ssupported\n", + string_desc->string.pointer, + return_desc->integer.value == 0 ? "not-" : "")); - return_desc->integer.value = 0; return_ACPI_STATUS(AE_OK); }