From owner-acpi-jp@jp.freebsd.org  Mon Jul  3 10:13:24 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id KAA36886;
	Mon, 3 Jul 2000 10:13:24 +0900 (JST)
	(envelope-from owner-acpi-jp@jp.FreeBSD.org)
Received: from tasogare.imasy.or.jp (daemon@tasogare.imasy.or.jp [202.227.24.5])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id KAA36881
	for <acpi-jp@jp.freebsd.org>; Mon, 3 Jul 2000 10:13:23 +0900 (JST)
	(envelope-from iwasaki@jp.FreeBSD.org)
Received: from localhost (isdnb40.imasy.or.jp [202.227.24.168])
	by tasogare.imasy.or.jp (8.10.1+3.3W/3.7W-tasogare/smtpfeed 1.07) with ESMTP id e631DKp33708
	for <acpi-jp@jp.freebsd.org>; Mon, 3 Jul 2000 10:13:20 +0900 (JST)
	(envelope-from iwasaki@jp.FreeBSD.org)
To: acpi-jp@jp.freebsd.org
In-Reply-To: <20000628184229U.iwasaki@jp.FreeBSD.org>
References: <20000627092046Y.iwasaki@jp.FreeBSD.org>
	<20000628161407J.yokoyama@o3.otc.ogis-ri.co.jp>
	<20000628184229U.iwasaki@jp.FreeBSD.org>
X-Mailer: Mew version 1.94.1 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Message-Id: <20000703101319G.iwasaki@jp.FreeBSD.org>
Date: Mon, 03 Jul 2000 10:13:19 +0900
From: Mitsuru IWASAKI <iwasaki@jp.freebsd.org>
X-Dispatcher: imput version 20000228(IM140)
Lines: 76
Reply-To: acpi-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: acpi-jp 454
Subject: [acpi-jp 454] Re: merging to FreeBSD
Errors-To: owner-acpi-jp@jp.freebsd.org
Sender: owner-acpi-jp@jp.freebsd.org
X-Originator: iwasaki@jp.freebsd.org

$B0lO"$N%Q%C%A$r(B commit $B$7$FMM;R$r$_$^$7$?$,!"(Binb() -> OsdIn8(),
outb() -> OsdOut8() $B$N=q$-49$($G!"0lIt5!<o$G(B sleep $B>uBV$X$NA+0\$,(B
$B$G$-$J$/$J$C$F$$$^$7$?!#(B
$B860x$O!"$*$=$i$/!"$b$H$b$H$?$@$G$5$(%P%$%HC10L$G(B port $B$rC!$$$F$$$?(B
$B$^$I$m$C$3$7$$=hM}$@$C$?$N$K2C$(!"(BOsdXX() $B$G%i%C%T%s%0$7$?$?$a$K(B
$B%*!<%P%X%C%I$,GO</$K$J$i$J$/$J$C$F!"(Bport $BO"B3C!$-A`:n$,4V1d$S$7$?(B
$B$?$a$+$J(B? $B$h$/$o$+$C$F$^$;$s(B (^^;
$B$H$j$"$($:!"=q$-9~$`%5%$%:$r(B 1, 2, 4 $B%P%$%H$K8BDj$70l3g$G=hM}$9$k(B
$B$h$&$KJQ99$7$?$H$3$m!":F$SF0$/$h$&$K$J$j$^$7$?!#(B

$BLdBj$J$1$l$P:#HU(B commit $B$7$?$$$G$9$,!"%5%$%:$r(B 1, 2, 4 $B%P%$%H$K8BDj$7$?(B
$B1F6A$C$FL5$$$G$9$h$M(B?

Index: i386/acpi/acpi.c
===================================================================
RCS file: /home/cvs/ACPI/sys/i386/acpi/acpi.c,v
retrieving revision 1.16
diff -u -r1.16 acpi.c
--- i386/acpi/acpi.c	2000/06/30 15:18:40	1.16
+++ i386/acpi/acpi.c	2000/07/02 12:35:22
@@ -778,26 +778,47 @@
 static void
 acpi_registers_input(u_int32_t ioaddr, u_int32_t *value, u_int32_t size)
 {
-	int		i;
 	u_int32_t	val;
 
-	val = 0;
-	for (i = size - 1; i >= 0; i--) {
-		val = (val << 8) | OsdIn8(ioaddr + i);
+	switch (size) {
+	case 1:
+		val = OsdIn8(ioaddr);
+		break;
+	case 2:
+		val = OsdIn16(ioaddr);
+		break;
+	case 4:
+		val = OsdIn32(ioaddr);
+		break;
+	default:
+		ACPIPRINTF("acpi_registers_input(): invalid size\n");
+		val = 0;
+		break;
 	}
+
 	*value = val;
 }
 
 static void
 acpi_registers_output(u_int32_t ioaddr, u_int32_t *value, u_int32_t size)
 {
-	int		i;
 	u_int32_t	val;
 
 	val = *value;
-	for (i = 0; i < size; i++) {
-		OsdOut8(ioaddr + i, val & 0xff);
-		val >>= 8;
+
+	switch (size) {
+	case 1:
+		OsdOut8(ioaddr, val);
+		break;
+	case 2:
+		OsdOut16(ioaddr, val);
+		break;
+	case 4:
+		OsdOut32(ioaddr, val);
+		break;
+	default:
+		ACPIPRINTF("acpi_registers_output(): invalid size\n");
+		break;
 	}
 }
 
