From owner-acpi-jp@jp.freebsd.org  Sun Dec 26 07:10:31 1999
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id HAA34891;
	Sun, 26 Dec 1999 07:10:31 +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 HAA34886
	for <acpi-jp@jp.freebsd.org>; Sun, 26 Dec 1999 07:10:30 +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.9.3+3.2W/3.7W-tasogare/smtpfeed 1.01) with ESMTP id HAA06248;
	Sun, 26 Dec 1999 07:10:24 +0900 (JST)
	(envelope-from iwasaki@jp.FreeBSD.org)
Message-Id: <199912252210.HAA06248@tasogare.imasy.or.jp>
To: acpi-jp@jp.freebsd.org, takawata@shidahara1.planet.sci.kobe-u.ac.jp
In-Reply-To: Your message of "Sat, 25 Dec 1999 21:00:51 +0900"
	<199912251200.VAA08966@libr.scitec.kobe-u.ac.jp>
References: <199912251200.VAA08966@libr.scitec.kobe-u.ac.jp>
X-Mailer: Mew version 1.93 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Date: Sun, 26 Dec 1999 07:10:23 +0900
From: Mitsuru IWASAKI <iwasaki@jp.freebsd.org>
X-Dispatcher: imput version 980905(IM100)
Lines: 285
Reply-To: acpi-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+990727
X-Sequence: acpi-jp 174
Subject: [acpi-jp 174] Re: My local modification to 'acpiconf' 
Errors-To: owner-acpi-jp@jp.freebsd.org
Sender: owner-acpi-jp@jp.freebsd.org
X-Originator: iwasaki@jp.freebsd.org

> acpiconf$B$r<j85$G$$$8$C$F$_$^$7$?!#(B
> $BJQ99E@(B
> parse.c$B$r$$$/$D$+$N%U%!%$%k$KJ,3d!#(B
> $BBeF~$dCM$NI>2A$r0lIt<BAu(B
> $B?tCM%*%V%8%'%/%H$N$_$,$+$+$o$k(BTermObject$B$r$[$\A4$F<BAu!#(B
> $B$^$@%P%C%U%!$J$I$,$+$+$o$k(BTermObject$B$NI>2A$O<BAu$7$F$$$^$;$s!#(B
> 
> http://www.planet.sci.kobe-u.ac.jp/~takawata/acpi/aml/acpiconf-local.tar.gz
> $B$KCV$-$^$7$?!#(B
> $BLdBj$,L5$1$l$P(BCVS$B%j%]%8%H%j$KFM$C9~$_$^$9!#(B

$B;n$7$F$_$^$7$?!#(Bmethod $B$NDI$C$+$1$b$G$-$k$h$&$K$J$C$F!"(B
$B$@$$$V7A$K$J$C$F$-$^$7$?$M(B :-)
$B$D$^$s$J$$$H$3$m$r=$@5$7$?$N$G;29M$K$7$F$/$@$5$$!#(B
$BB?>/=PNO$,8+0W$/$J$k$H;W$$$^$9!#(B
$B$"$H(B CVS$B%j%]%8%H%j$KFM$C9~$`A0$K?75,%3!<%I$r(B indent $B$K$+$1$F(B
$B$/$@$5$$!#(B/usr/src/tools/tools/editing/freebsd.el $B$r;H$C$F(B 
format $B$7$F$b$$$$$H;W$$$^$9!#(B

diff -u acpiconf-local.old/evalobj.c acpiconf-local/evalobj.c
--- acpiconf-local.old/evalobj.c	Sat Dec 25 20:13:00 1999
+++ acpiconf-local/evalobj.c	Sun Dec 26 06:43:14 1999
@@ -38,6 +38,7 @@
 #include "name.h"
 #include "amlmem.h"
 #include "status.h"
+#include "debug.h"
 #include "env.h"
 #include "obj.h"
 #include "evalobj.h"
@@ -78,7 +79,7 @@
        return NULL;
      }
      or=&wname->property->opregion;
-     printf("read(From%d , %x)",or->space,or->offset+field->bitoffset/8);
+     DPRINT("[read(From%d , %x)]",or->space,or->offset+field->bitoffset/8);
    }else if(field->f.ftype==f_t_index){
      union aml_object tobj;
      wname=acpi_search_name(env,field->f.ifld.indexname);
@@ -140,16 +141,18 @@
     copy.curname=aname;
     copy.dp=aname->property->meth.from;
     copy.end=aname->property->meth.to;
-    printf("(");
+    DPRINT("(");
     for(i=0;i<argnum;i++){
-      printf(" ");
       copy.argumentvalue[i].property=acpi_copy_object
 	(env,acpi_eval_name(env,acpi_parse_termobj(env,0)));
+      if (i < argnum-1)
+	DPRINT(", ");
     }
-    printf(")\n");
-    printf("START\n");
+    DPRINT(")\n");
+
     bzero(&copy.localvalue,sizeof(struct aml_name)*8);
     acpi_execute_method(&copy);
+
     env->wobj.type=aml_t_num;/*Temporally*/
     env->wobj.num.number=0;
     for(i=0;i<argnum;i++){
@@ -161,12 +164,12 @@
     return &env->wobj;
   case aml_t_bufferfield:
     acpi_free_objectcontent(&env->wobj);
-    printf("BufferField\n");
+    DPRINT("BufferField\n");
     env->wobj.type=aml_t_num;/*Temporally*/
     env->wobj.num.number=0;
     return &env->wobj;
   default:
-    printf("I eval the object that I should not eval,%s%d",
+    DPRINT("I eval the object that I should not eval,%s%d",
 	   aname->name,aname->property->type);
     abort();
     return NULL;
@@ -190,6 +193,11 @@
 {
   struct aml_name *name;
   int i;
+
+  DPRINT("[");
+  acpi_print_namestring(env->curname->name);
+  DPRINT(" START]\n");
+
   name=acpi_parse_objectlist(env,0);
   for(i=0;i<7;i++){
 #if 0
@@ -199,7 +207,10 @@
 #endif
   }
 
-  printf("END\n");
+  DPRINT("[");
+  acpi_print_namestring(env->curname->name);
+  DPRINT(" END]\n");
+
   return name;
 }
 
diff -u acpiconf-local.old/parse.c acpiconf-local/parse.c
--- acpiconf-local.old/parse.c	Sat Dec 25 20:33:32 1999
+++ acpiconf-local/parse.c	Sun Dec 26 06:37:11 1999
@@ -242,11 +242,11 @@
 	while (env->dp < env->end) {
 		acpi_print_indent(indent);
 		obj=acpi_eval_name(env,acpi_parse_termobj(env, indent));
+		DPRINT("\n");
 		if(env->stat!=aml_stat_none){
 		  env->work.property=obj;
 		  return &env->work;
 		}
-		DPRINT("\n");
 
 	}
 	return NULL;
@@ -925,12 +925,13 @@
  * shared,tempolary buffer may shared.
  */
 struct aml_name *
-acpi_parse_termobj(struct aml_environ * env, int indent)\
+acpi_parse_termobj(struct aml_environ * env, int indent)
 {
 
 	u_int8_t        opcode;
 	u_int8_t       *name;
 	struct aml_name *aname = &env->work;
+	struct aml_name *distname1, *distname2;
 	union aml_object *ret = &env->wobj;
 	union aml_object *tmpobj;
 	union aml_object anum;
@@ -1158,8 +1159,9 @@
 		  (env,acpi_eval_name(env,acpi_parse_termobj(env, indent)));\
 		DPRINT(", ");\
 		anum.num.number= operation (num1);\
-		acpi_store_to_name(env,&anum,acpi_parse_termobj(env, indent));\
+		distname1 = acpi_parse_termobj(env, indent);\
 		DPRINT(")");\
+		acpi_store_to_name(env,&anum,distname1);\
 		env->wobj.num=anum.num;\
 		aname=&env->work  ;\
 				}
@@ -1251,12 +1253,13 @@
 		  break;
 		}
 		DPRINT(", ");
-		acpi_store_to_name(env,tmpobj,acpi_parse_termobj(env, indent));
+		distname1 = acpi_parse_termobj(env, indent);
+		DPRINT(")");
+		acpi_store_to_name(env,tmpobj,distname1);
 		if(tmpobj==NULL){
 		  printf("???");
 		  break;
 		}
-		DPRINT(")");
 		env->wobj=*tmpobj;
 		tmpobj->type=aml_t_null;
 		acpi_free_object(&tmpobj);
@@ -1278,8 +1281,9 @@
 		   (env,acpi_eval_name(env,acpi_parse_termobj(env, indent)));\
 		DPRINT(", ");\
 		anum.num.number=num1 oparation num2;\
-		acpi_store_to_name(env,&anum,acpi_parse_termobj(env, indent));\
+		distname1 = acpi_parse_termobj(env, indent);\
 		DPRINT(")");\
+		acpi_store_to_name(env,&anum,distname1);\
 		env->wobj.num=anum.num;\
 		aname=&env->work  ;\
 				}
@@ -1306,10 +1310,10 @@
 		num1=acpi_objtonum(env,acpi_eval_name(env,aname));
 		num1++;
 		anum.num.number=num1;
+		DPRINT(")");
 		acpi_store_to_name(env,&anum,aname);
 		aname=&env->work;
 		env->wobj.num=anum.num;
-		DPRINT(")");
 		break;
 
 	case 0x76:		/* DecrementOp */
@@ -1318,10 +1322,10 @@
 		num1=acpi_objtonum(env,acpi_eval_name(env,aname));
 		num1--;
 		anum.num.number=num1;
+		DPRINT(")");
 		acpi_store_to_name(env,&anum,aname);
 		aname=&env->work;
 		env->wobj.num=anum.num;
-		DPRINT(")");
 		break;
 
 	case 0x77:		/* MultiplyOp */
@@ -1336,11 +1340,13 @@
 		   (env,acpi_eval_name(env,acpi_parse_termobj(env, indent)));
 		DPRINT(", ");
 		anum.num.number=num1 % num2;
-		acpi_store_to_name(env,&anum,acpi_parse_termobj(env, indent));
+		distname1 = acpi_parse_termobj(env, indent);
+		acpi_store_to_name(env,&anum,distname1);
 		DPRINT(", ");
 		anum.num.number=num1 / num2;
-		acpi_store_to_name(env,&anum,acpi_parse_termobj(env, indent));
+		distname2 = acpi_parse_termobj(env, indent);
 		DPRINT(")");
+		acpi_store_to_name(env,&anum,distname2);
 		env->wobj.num=anum.num;
 		aname=&env->work  ;
 		break;
@@ -1348,22 +1354,22 @@
 		NUMOP3("ShiftLeft",<<);
 		break;
 	case 0x7a:		/* ShiftRightOp */
-		NUMOP3("ShiftLeft",>>);
+		NUMOP3("ShiftRight",>>);
 		break;
 	case 0x7b:		/* AndOp */
-		NUMOP3("ShiftLeft",&);
+		NUMOP3("And",&);
 		break;
 	case 0x7c:		/* NAndOp */
-		NUMOP3("ShiftLeft",&~);
+		NUMOP3("NAnd",&~);
 		break;
 	case 0x7d:		/* OrOp */
 		NUMOP3("Or",|);
 		break;
 	case 0x7e:		/* NOrOp */
-		NUMOP3("Nor",|~);
+		NUMOP3("NOr",|~);
 		break;
 	case 0x7f:		/* XOrOp */
-		NUMOP3("Xor",^);
+		NUMOP3("XOr",^);
 		break;
 	case 0x80:		/* NotOp */
 		NUMOP2("Not",~);
diff -u acpiconf-local.old/store.c acpiconf-local/store.c
--- acpiconf-local.old/store.c	Sat Dec 25 20:12:10 1999
+++ acpiconf-local/store.c	Sun Dec 26 06:47:01 1999
@@ -33,6 +33,7 @@
 #include "name.h"
 #include "amlmem.h"
 #include "status.h"
+#include "debug.h"
 #include "env.h"
 #include "search.h"
 #include "store.h"
@@ -56,7 +57,7 @@
 	return ;
       }
     or=&wname->property->opregion;
-    printf("write(From%d , %x)",or->space,or->offset+field->bitoffset/8);
+    DPRINT("[write(From%d , %x)]",or->space,or->offset+field->bitoffset/8);
   }else if(field->f.ftype==f_t_index){
     union aml_object tobj;
       wname=acpi_search_name(env,field->f.ifld.indexname);
@@ -83,7 +84,7 @@
      /*Index() is not implemented yet*/
      env->stat=aml_stat_panic;
  #endif
-     printf("Try to store no existant name ");
+     DPRINT("[Try to store no existant name ]");
      return;
    }
    if(name->property==NULL){
@@ -109,7 +110,7 @@
       break;
     if(obj->type==aml_t_num){
       name->property->num=obj->num;
-      printf("Store number\n");
+      DPRINT("[Store number]");
     }
     else{
       env->stat=aml_stat_panic;
@@ -123,7 +124,7 @@
   case aml_t_package:
     break;
   default:
-    printf("Unimplemented %d\n",name->property->type);
+    DPRINT("[Unimplemented %d]",name->property->type);
     break;
   }
 }
