From owner-freebsd-current@FreeBSD.ORG Wed May 28 09:24:13 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8937537B401 for ; Wed, 28 May 2003 09:24:13 -0700 (PDT) Received: from egust.mine.nu (YahooBB219008246009.bbtec.net [219.8.246.9]) by mx1.FreeBSD.org (Postfix) with ESMTP id 454CD43FAF for ; Wed, 28 May 2003 09:24:12 -0700 (PDT) (envelope-from kochi@netbsd.org) Received: from localhost (localhost [127.0.0.1]) by egust.mine.nu (Postfix) with ESMTP id 9521A7876E; Thu, 29 May 2003 01:24:10 +0900 (JST) Date: Thu, 29 May 2003 01:23:49 +0900 (JST) Message-Id: <20030529.012349.68555656.kochi@netbsd.org> To: acpi-jp@jp.FreeBSD.org, nate@root.org From: Takayoshi Kochi In-Reply-To: <20030527165526.E6842@root.org> References: <20030527140327.E6550@root.org> <20030528071116.2db41659.yosimoto@waishi.jp> <20030527165526.E6842@root.org> X-Mailer: Mew version 3.1 on Emacs 21.2 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Thu_May_29_01:23:49_2003_389)--" Content-Transfer-Encoding: 7bit cc: current@freebsd.org Subject: Re: [acpi-jp 2267] Re: HEADSUP: acpi patches in the tree X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 May 2003 16:24:13 -0000 ----Next_Part(Thu_May_29_01:23:49_2003_389)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi, From: Nate Lawson Subject: [acpi-jp 2267] Re: HEADSUP: acpi patches in the tree Date: Tue, 27 May 2003 16:58:59 -0700 > On Wed, 28 May 2003, Shin-ichi YOSHIMOTO wrote: > > After this update, I found some error messages like this: > > > > acpi0: on motherboard > > ACPI-0438: *** Error: Looking up [\\_OS_] in namespace, AE_NOT_FOUND > > ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0._INI] (Node 0xc21b73e0), AE_NOT_FOUND > > Please try the attached patch and see if it changes things for you. I'm still studying the reason why the TABLE_ID_DSDT is removed in recent ACPI CA, but at least you should remove all TABLE_ID_DSDT's, I think. Also, ACPI_FIRST_METHOD_ID should be larger than 0, otherwise 0 may be allocated to running method and make a conflict. I've made a diff against NetBSD-current and just booted the kernel, but haven't tested much (and still trying to make out what the changes are intended). Attached is the patch and should apply to the FreeBSD tree with some appropriate option. --- Takayoshi Kochi ----Next_Part(Thu_May_29_01:23:49_2003_389)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="table_id_dsdt.diff" Index: aclocal.h =================================================================== RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/aclocal.h,v retrieving revision 1.5 diff -u -r1.5 aclocal.h --- aclocal.h 2003/03/04 17:25:10 1.5 +++ aclocal.h 2003/05/28 07:24:46 @@ -214,12 +214,8 @@ typedef UINT16 ACPI_OWNER_ID; #define ACPI_OWNER_TYPE_TABLE 0x0 #define ACPI_OWNER_TYPE_METHOD 0x1 -#define ACPI_FIRST_METHOD_ID 0x0000 -#define ACPI_FIRST_TABLE_ID 0x8000 - -/* TBD: [Restructure] get rid of the need for this! */ - -#define TABLE_ID_DSDT (ACPI_OWNER_ID) 0x8000 +#define ACPI_FIRST_METHOD_ID 0x0001 +#define ACPI_FIRST_TABLE_ID 0xF000 /* Field access granularities */ Index: dbutils.c =================================================================== RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/dbutils.c,v retrieving revision 1.6 diff -u -r1.6 dbutils.c --- dbutils.c 2003/03/04 17:25:12 1.6 +++ dbutils.c 2003/05/28 07:24:51 @@ -429,7 +429,7 @@ /* Create a new walk state for the parse */ - WalkState = AcpiDsCreateWalkState (TABLE_ID_DSDT, + WalkState = AcpiDsCreateWalkState (0, NULL, NULL, NULL); if (!WalkState) { Index: dsmethod.c =================================================================== RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/dsmethod.c,v retrieving revision 1.7 diff -u -r1.7 dsmethod.c --- dsmethod.c 2003/05/25 10:08:24 1.7 +++ dsmethod.c 2003/05/28 07:24:52 @@ -381,7 +381,9 @@ return_ACPI_STATUS (AE_NULL_OBJECT); } +printf("OwningId(before) = %d\n", ObjDesc->Method.OwningId); ObjDesc->Method.OwningId = AcpiUtAllocateOwnerId (ACPI_OWNER_TYPE_METHOD); +printf("OwningId(after ) = %d\n", ObjDesc->Method.OwningId); /* Init for new method, wait on concurrency semaphore */ Index: dsopcode.c =================================================================== RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/dsopcode.c,v retrieving revision 1.6 diff -u -r1.6 dsopcode.c --- dsopcode.c 2003/03/04 17:25:13 1.6 +++ dsopcode.c 2003/05/28 07:24:54 @@ -177,7 +177,7 @@ /* Create and initialize a new parser state */ - WalkState = AcpiDsCreateWalkState (TABLE_ID_DSDT, NULL, NULL, NULL); + WalkState = AcpiDsCreateWalkState (0, NULL, NULL, NULL); if (!WalkState) { return_ACPI_STATUS (AE_NO_MEMORY); @@ -221,7 +221,7 @@ /* Create and initialize a new parser state */ - WalkState = AcpiDsCreateWalkState (TABLE_ID_DSDT, NULL, NULL, NULL); + WalkState = AcpiDsCreateWalkState (0, NULL, NULL, NULL); if (!WalkState) { return_ACPI_STATUS (AE_NO_MEMORY); Index: nsalloc.c =================================================================== RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/nsalloc.c,v retrieving revision 1.8 diff -u -r1.8 nsalloc.c --- nsalloc.c 2003/05/13 13:29:00 1.8 +++ nsalloc.c 2003/05/28 07:24:56 @@ -314,7 +314,7 @@ ACPI_NAMESPACE_NODE *Node, /* New Child*/ ACPI_OBJECT_TYPE Type) { - UINT16 OwnerId = TABLE_ID_DSDT; + UINT16 OwnerId = 0; ACPI_NAMESPACE_NODE *ChildNode; #ifdef ACPI_ALPHABETIC_NAMESPACE Index: nsload.c =================================================================== RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/nsload.c,v retrieving revision 1.6 diff -u -r1.6 nsload.c --- nsload.c 2003/03/04 17:25:22 1.6 +++ nsload.c 2003/05/28 07:24:57 @@ -275,7 +275,7 @@ goto UnlockAndExit; } - TableDesc->TableId = TABLE_ID_DSDT; + TableDesc->TableId = 0; /* Now load the single DSDT */ Index: nsparse.c =================================================================== RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/nsparse.c,v retrieving revision 1.2 diff -u -r1.2 nsparse.c --- nsparse.c 2003/02/13 14:16:23 1.2 +++ nsparse.c 2003/05/28 07:24:58 @@ -166,7 +166,7 @@ /* Create and initialize a new walk state */ - WalkState = AcpiDsCreateWalkState (TABLE_ID_DSDT, + WalkState = AcpiDsCreateWalkState (0, NULL, NULL, NULL); if (!WalkState) { Index: pswalk.c =================================================================== RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/pswalk.c,v retrieving revision 1.6 diff -u -r1.6 pswalk.c --- pswalk.c 2003/03/04 17:25:25 1.6 +++ pswalk.c 2003/05/28 07:24:59 @@ -355,7 +355,7 @@ return_VOID; } - WalkState = AcpiDsCreateWalkState (TABLE_ID_DSDT, NULL, NULL, Thread); + WalkState = AcpiDsCreateWalkState (0, NULL, NULL, Thread); if (!WalkState) { return_VOID; Index: psxface.c =================================================================== RCS file: /cvsroot/src/sys/dev/acpi/acpica/Subsystem/psxface.c,v retrieving revision 1.6 diff -u -r1.6 psxface.c --- psxface.c 2003/03/04 17:25:25 1.6 +++ psxface.c 2003/05/28 07:24:59 @@ -264,7 +264,7 @@ /* Create and initialize a new walk state */ - WalkState = AcpiDsCreateWalkState (TABLE_ID_DSDT, NULL, NULL, NULL); + WalkState = AcpiDsCreateWalkState (0, NULL, NULL, NULL); if (!WalkState) { return_ACPI_STATUS (AE_NO_MEMORY); ----Next_Part(Thu_May_29_01:23:49_2003_389)----