From owner-acpi-jp@jp.freebsd.org  Thu Nov  8 22:40:02 2001
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id WAA67247;
	Thu, 8 Nov 2001 22:40:02 +0900 (JST)
	(envelope-from owner-acpi-jp@jp.FreeBSD.org)
Received: from tasogare.imasy.or.jp (root@tasogare.imasy.or.jp [202.227.24.5])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id WAA67224;
	Thu, 8 Nov 2001 22:39:57 +0900 (JST)
	(envelope-from iwasaki@jp.FreeBSD.org)
Received: from localhost (iwasaki.imasy.or.jp [202.227.24.92])
	(authenticated as iwa with CRAM-MD5)
	by tasogare.imasy.or.jp (8.11.6+3.4W/8.11.6/tasogare) with ESMTP/inet id fA8DdsW70289;
	Thu, 8 Nov 2001 22:39:54 +0900 (JST)
	(envelope-from iwasaki@jp.FreeBSD.org)
Date: Thu, 08 Nov 2001 22:39:51 +0900 (JST)
Message-Id: <20011108.223951.71083166.iwasaki@jp.FreeBSD.org>
To: acpi-jp@jp.freebsd.org, robert.moore@intel.com
Cc: andrew.grover@intel.com, iwasaki@jp.FreeBSD.org
From: Mitsuru IWASAKI <iwasaki@jp.freebsd.org>
In-Reply-To: <B9ECACBD6885D5119ADC00508B68C1EA2FDFEE@orsmsx107.jf.intel.com>
References: <B9ECACBD6885D5119ADC00508B68C1EA2FDFEE@orsmsx107.jf.intel.com>
X-Mailer: Mew version 2.0 on Emacs 20.7 / Mule 4.0 (HANANOEN)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Reply-To: acpi-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+010328
X-Sequence: acpi-jp 1457
Subject: [acpi-jp 1457] Re: acpica-unix-20011102 is out
Errors-To: owner-acpi-jp@jp.freebsd.org
Sender: owner-acpi-jp@jp.freebsd.org
X-Originator: iwasaki@jp.freebsd.org

Hi, Bob.

> I've confirmed the problem.  Thanks for the test case.

I've found that 2nd problem is related with CreateXXXField() (such as
CreateWordField) and can be reproduced with this ASL code.

Method(BUG2)
{
        Name(RSRC, Buffer(0x4) { 0, 0, 0, 0 })
        CreateWordField(RSRC, 1, IRQ0)
        Store(0xaabb, IRQ0)
        If(LEqual(DerefOf(Index(RSRC, 1)), 0xbb)) {
                Store("OK", DEBUG)
        }
        If(LEqual(DerefOf(Index(RSRC, 2)), 0xaa)) {
                Store("OK", DEBUG)
        }
}

With 20011018 version, ACPI Namespace looks like
+- RSRC Buffer       0x8090d28 Len 04 = 00 BB AA 00
+- IRQ0 BufferField  0x8090ea8 Off 08 Len 10 Acc 16

however, 20011102 version try to store the data to wrong position.
+- RSRC Buffer       0x808fd28 Len 04 = 00 00 BB 00
+- IRQ0 BufferField  0x808fea8 Buf [RSRC] Off 10 Len 10 Acc 16

I attached debug trace of Store operation.  Hope this helps.

Thanks

 exfldio-0963 [13] ExInsertIntoField     : ----Entry
 exfldio-0990 [13] ExInsertIntoField     : ByteLen=2, DatumLen=1, BitGran=10, ByteGran=2
 exfldio-0577 [14] ExWriteWithUpdateRule : ----Entry FFFFFF00
 exfldio-0375 [15] ExFieldDatumIo        : ----Entry 00000000
 exfldio-0539 [15] ExFieldDatumIo        : Value Read=0000000000000000
 exfldio-0548 [15] ExFieldDatumIo        : ----Exit- AE_OK
 exfldio-0375 [15] ExFieldDatumIo        : ----Entry 00000000
 exfldio-0544 [15] ExFieldDatumIo        : Value Written=BFF1740000AABB00
 exfldio-0548 [15] ExFieldDatumIo        : ----Exit- AE_OK
 exfldio-0643 [14] ExWriteWithUpdateRule : Mask FFFFFFFFFFFFFF00 DatumOffset 0 Value BFF1740000AABB00, MergedValue BFF1740000AABB00
 exfldio-0645 [14] ExWriteWithUpdateRule : ----Exit- AE_OK
 exfldio-0577 [14] ExWriteWithUpdateRule : ----Entry 000000FF
 exfldio-0375 [15] ExFieldDatumIo        : ----Entry 00000002
 exfldio-0539 [15] ExFieldDatumIo        : Value Read=0000000000000000
 exfldio-0548 [15] ExFieldDatumIo        : ----Exit- AE_OK
 exfldio-0375 [15] ExFieldDatumIo        : ----Entry 00000002
 exfldio-0544 [15] ExFieldDatumIo        : Value Written=00000000000000AA
 exfldio-0548 [15] ExFieldDatumIo        : ----Exit- AE_OK
 exfldio-0643 [14] ExWriteWithUpdateRule : Mask 00000000000000FF DatumOffset 2 Value 00000000000000AA, MergedValue 00000000000000AA
 exfldio-0645 [14] ExWriteWithUpdateRule : ----Exit- AE_OK
 exfldio-1144 [13] ExInsertIntoField     : ----Exit- AE_OK
