From owner-acpi-jp@jp.FreeBSD.org Thu Jan 23 03:43:53 2003
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id h0MIhrJ57583;
	Thu, 23 Jan 2003 03:43:53 +0900 (JST)
	(envelope-from owner-acpi-jp@jp.FreeBSD.org)
Received: from sana.home.local (takawata.st.wakwak.ne.jp [61.115.75.145])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet id h0MIhoJ57569
	for <acpi-jp@jp.freebsd.org>; Thu, 23 Jan 2003 03:43:50 +0900 (JST)
	(envelope-from takawata@takawata.st.wakwak.ne.jp)
Received: from takawata.st.wakwak.ne.jp (localhost [127.0.0.1])
	by sana.home.local (8.12.6/8.12.6) with ESMTP id h0MIgRc4022885;
	Thu, 23 Jan 2003 03:42:28 +0900 (JST)
	(envelope-from takawata@takawata.st.wakwak.ne.jp)
Message-Id: <200301221842.h0MIgRc4022885@sana.home.local>
To: acpi-jp@jp.FreeBSD.org
cc: bsd-nomads@clave.gr.jp
From: takawata@axe-inc.co.jp
Reply-To: acpi-jp@jp.FreeBSD.org
Precedence: list
Date: Thu, 23 Jan 2003 03:42:27 +0900
X-Sequence: acpi-jp 2067
Subject: [acpi-jp 2067] ACPI PCI IDE driver.
Errors-To: owner-acpi-jp@jp.FreeBSD.org
Sender: owner-acpi-jp@jp.FreeBSD.org
X-Originator: takawata@takawata.st.wakwak.ne.jp
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+030107

Hi, I am writing a driver for ACPI capable IDE on PCI, 
as descrived ACPI spec 2.0 Section 10.8.
and now each device know about ACPI and each channel 
driver call "_GTM" on sleep and call "_STM" on wakeup.
(Not yet use "_GTF" for now.)
Now I have two questions.

When ATA or ATAPI identify failed,  which value should I 
pass to the _STM method? ZERO length buffer? ZERO Filled buffer?
Or any other object?

Is Zero Length buffer argument permited?
When I try to pass Zero length with NULL pointer attached
to _STM method to indicate the IDENTIFY request is failed,
I get following error from ACPICA:
-0540: *** Error: UtCallocate: Attempt to allocate zero bytes.
and method execution will fail.
How can I do? 
Now I fill the dummy value.

The code is as follows.



begin 644 atadiff.tar.gz
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
>185"H5`H%`J%0J%0*!0*A4*A4`SC'[&81$D`>```
`
end
